import { ColumnDef } from '@tanstack/react-table'; import { DatePickerProps, InputNumberProps, InputProps, SelectProps } from 'antd'; import { RangePickerProps } from 'antd/es/date-picker'; import { CSSProperties, ReactNode } from '../../../../node_modules/.pnpm/react@19.1.1/node_modules/react'; import { TTableCell } from './cell.types'; import { TTableFilterOption, TTableFilterType } from './filter.types'; import { TTableSortOrder } from './sort.types'; import { TTableItem } from './table.types'; export type TTableColumnSort = { enabled: boolean; default?: TTableSortOrder; id?: string; }; export type TTableColumnFilterSelectProps = Omit; export type TTableColumnFilter = { type: "multiselect"; options: TTableFilterOption[]; id?: string; className?: string; style?: CSSProperties; styles?: SelectProps["styles"]; props?: Omit; } | { type: "select"; options: TTableFilterOption[]; id?: string; className?: string; style?: CSSProperties; styles?: SelectProps["styles"]; props?: Omit; } | { type: "date"; id?: string; className?: string; style?: CSSProperties; styles?: DatePickerProps["styles"]; props?: Omit & { format: string; }; } | { type: "date-range"; id?: string; className?: string; style?: CSSProperties; styles?: DatePickerProps["styles"]; props?: Omit & { format: string; }; } | { type: "input"; id?: string; className?: string; style?: CSSProperties; styles?: CSSProperties; props?: Omit; } | { type: "input-number"; id?: string; className?: string; style?: CSSProperties; styles?: CSSProperties; props?: Omit; } | { type: Exclude; id?: string; className?: string; style?: CSSProperties; styles?: CSSProperties; props?: Record; } | { type: "custom"; isMultiple?: false; render: (value: { value: string; label: string; }, onChange: (value: { value: string; label: string; }) => void, children: ReactNode) => ReactNode; id?: string; className?: string; style?: CSSProperties; styles?: CSSProperties; props?: Record; } | { type: "custom"; isMultiple: true; render: (value: { value: string; label: string; }[], onChange: (value: { value: string; label: string; }[]) => void, children: ReactNode) => ReactNode; id?: string; className?: string; style?: CSSProperties; styles?: CSSProperties; props?: Record; }; export type TTableColumnMapping = { value: string | number; label: string | number; }; export type TTableColumn = { sort?: TTableColumnSort; filter?: TTableColumnFilter; dataType?: "string" | "number"; definition: ColumnDef & { id: string; cell: TTableCell; headerTooltip?: { content: string; }; mapping?: TTableColumnMapping[]; headerRightBorder?: boolean; }; }; export type TTableColumnGroup = { header: string; headerTooltip?: { content: string; }; columns: readonly TTableColumnOrGroup[]; }; export type TTableColumnOrGroup = TTableColumn | TTableColumnGroup; export declare const isColumnGroup: (col: TTableColumnOrGroup) => col is TTableColumnGroup; export declare const flattenColumns: (cols: readonly TTableColumnOrGroup[]) => TTableColumn[]; //# sourceMappingURL=col.types.d.ts.map