import { ResponsiveTableBorderProps, ResponsiveTableScrolledProps, ResponsiveTableStickyProps, ResponsiveTableStripedColorProps, ResponsiveTextAlignProps, TableBorderProps, TableScrolledProps, TableStickyProps, TableStripedColorProps } from '../../utils/types/types'; export interface Columns { key: string; title: React.ReactNode | string; dataIndex: string; align?: ResponsiveTextAlignProps; width?: number; colSpan?: number | ((record: D, rowIndex: number) => number); rowSpan?: number | ((record: D, rowIndex: number) => number); render?: (value: D) => React.ReactNode; } export interface DataSource extends Record { key: string; } type Sizes = "xs" | "sm" | "md" | "lg"; export interface TableProps extends React.HTMLAttributes { size?: { xs?: Sizes; sm?: Sizes; md?: Sizes; lg?: Sizes; } | Sizes; isHeader?: boolean; width?: string; textAlign?: ResponsiveTextAlignProps; columns?: Columns[]; dataSource?: DataSource[]; hover?: boolean; transparent?: boolean; striped?: ResponsiveTableStripedColorProps | TableStripedColorProps; loading?: boolean; scroll?: ResponsiveTableScrolledProps | TableScrolledProps; sticky?: ResponsiveTableStickyProps | TableStickyProps; border?: ResponsiveTableBorderProps | TableBorderProps; onRow?: (value: DataSource) => void; } export {};