import { TableProps as AntTableProps } from "antd"; import { ColumnGroupType, ColumnType as AntColumnType, TableRowSelection as AntTableRowSelection, ColumnTitle as AntColumnTitle } from "antd/lib/table/interface"; export interface TableProps extends Omit, "rowSelection"> { transparent?: boolean; rowSelection?: TableRowSelection; onRowSelect?: (record: any) => void; stripe?: boolean; boxShadow?: boolean; isResizable?: boolean; isBodyCard?: boolean; onResizeColumns?: (columns: ColumnsType) => void; responsive?: { breakpoint?: number; dataLabel?: (column: any, record: any, rowIndex: number) => React.ReactNode | string; }; } export interface TableRef { onSelectAll: () => void; onSelectItems: (items: any[]) => { selectedRowKeys: React.Key[]; selectedRows: any[]; }; } export interface TableRowSelection extends Omit, "onSelectAll"> { onSelectAll?: (isSelectedAll: boolean, selectedRowKeys: any[], selectedRows?: any[]) => void; } export type ColumnsType = (ColumnGroupType | AntColumnType)[]; export type ColumnType = AntColumnType & { editable?: boolean; }; export type ColumnTitle = AntColumnTitle;