type Key = string | number; export type RowType = any; export interface CellInfoType { cellData: any; column: ColumnType; row: RowType; } type ColumnAlignment = "left" | "right" | "center"; export type ColumnType = { align?: ColumnAlignment; label?: string; cellFormatter?: (cell: CellInfoType) => React.ReactNode; cellRenderer?: (cell: CellInfoType) => React.ReactNode; headerRenderer?: (column: ColumnType) => React.ReactNode; headerFormatter?: (column: ColumnType) => React.ReactNode; width?: string | number; metadata?: ColumnMetadata; } & ({ key: Key; dataKey?: never | undefined; } | { dataKey: Key; key?: never | undefined; }); export type Columns = ColumnType[]; export type RowBorder = boolean; export {};