import type { DataTableConfig } from '@/config/data-table'; import type { FilterItemSchema } from '@/lib/parsers'; import type { ColumnSort, Row, RowData } from '@tanstack/react-table'; declare module '@tanstack/react-table' { // biome-ignore lint/correctness/noUnusedVariables: Interface type parameters required by @tanstack/react-table interface ColumnMeta { label?: string; placeholder?: string; variant?: FilterVariant; options?: Option[]; range?: [number, number]; unit?: string; icon?: React.FC>; headerClassName?: string; cellClassName?: string; } } export interface Option { label: string; value: string; count?: number; icon?: React.FC>; } export type FilterOperator = DataTableConfig['operators'][number]; export type FilterVariant = DataTableConfig['filterVariants'][number]; export type JoinOperator = DataTableConfig['joinOperators'][number]; export interface ExtendedColumnSort extends Omit { id: Extract; } export interface ExtendedColumnFilter extends FilterItemSchema { id: Extract; } export interface DataTableRowAction { row: Row; variant: 'update' | 'delete'; }