import type * as React from 'react'; import type { Override } from '../helpers/overrides'; import type { SIZE, DIVIDER } from './constants'; export declare type Size = keyof typeof SIZE; export declare type Divider = keyof typeof DIVIDER; export declare type TableOverrides = { Root?: Override; Table?: Override; TableHead?: Override; TableHeadRow?: Override; TableHeadCell?: Override; TableBody?: Override; TableBodyRow?: Override; TableBodyCell?: Override; TableLoadingMessage?: Override; TableEmptyMessage?: Override; }; export declare type TableProps = { overrides?: TableOverrides; columns: Array; data: Array>; divider?: Divider; horizontalScrollWidth?: string; isLoading?: boolean; loadingMessage?: React.ReactNode | (() => React.ReactNode); emptyMessage?: React.ReactNode | (() => React.ReactNode); size?: Size; }; export declare type BuilderOverrides = { TableHeadCellSortable?: Override; SortIconContainer?: Override; SortAscIcon?: Override; SortDescIcon?: Override; SortNoneIcon?: Override; } & TableOverrides; export declare type TableBuilderProps = { overrides?: BuilderOverrides; children?: React.ReactNode; data: Array; divider?: Divider; horizontalScrollWidth?: string; sortColumn?: string | null; sortOrder?: 'ASC' | 'DESC' | null; onSort?: (columnId: string) => void; isLoading?: boolean; loadingMessage?: React.ReactNode | (() => React.ReactNode); emptyMessage?: React.ReactNode | (() => React.ReactNode); size?: Size; }; export declare type ColumnOverrides = { TableHeadCell?: Override; TableHeadCellSortable?: Override; TableBodyCell?: Override; SortAscIcon?: Override; SortDescIcon?: Override; SortNoneIcon?: Override; }; export declare type TableBuilderColumnProps = { overrides?: ColumnOverrides; children: (row: RowT, rowIndex?: number) => React.ReactNode; id?: string; header?: React.ReactNode; numeric?: boolean; sortable?: boolean; tableHeadAriaLabel?: string; };