import { CSSProperties } from 'react'; export type DefaultData = Record<'key' | string, any>; export type Render = (row: T, column: TableColumnTypes) => React.ReactNode; export interface TableColumnTypes { align?: 'left' | 'center' | 'right'; className?: string; colspan?: number; rowspan?: number; dataIndex?: string; key?: React.Key; fixed?: boolean | 'right' | 'left'; zIndex?: number; render?: Render; hidden?: boolean; width?: number; title: string; sorter?: (a: T, b: T) => number; children?: TableColumnTypes[]; [key: string]: any; } export type TableRowSelection = { onChange: (data: React.Key[]) => void; setRowSelection?: () => React.Key; getDisabledProps?: (data: any) => boolean; }; export interface BaseTableProps extends React.TableHTMLAttributes { bordered?: boolean; scroll?: { x?: number; y?: number; }; headZIndex?: number; sticky?: boolean; showHeader?: boolean; tableLayout?: CSSProperties['tableLayout']; columns: TableColumnTypes[]; dataSource: DefaultData[]; rowKey?: string; footer?: React.ReactNode; } export interface TableProps extends BaseTableProps { pageSize?: number; pagination?: boolean; pageCount?: number; rowSelection?: TableRowSelection; } export type VirtualTableProps = Omit & { scroll: { x?: number; y: number; }; itemHeight: number; wait?: number; overscan?: number; }; export declare enum SortStatusEnum { ascend = 0, descend = 1, origin = 2 } export type TableSort = ((a?: any, b?: any) => number) | undefined; export interface ITableOperateParams { sorter?: TableSort; sortStatusMap: Record; } export declare const sortHoverTitle: { 0: string; 1: string; 2: string; }; export type SetOperaParams = React.Dispatch>; export declare enum CheckEnum { on = "1", off = "2" }