import { BaseProps, SizeType } from "../_utils/props.js"; import { PaginationProps } from "../pagination/types.js"; import React from "react"; //#region src/table/types.d.ts type SortOrder = 'ascend' | 'descend' | null; type ColumnAlign = 'left' | 'center' | 'right'; interface ColumnType { title: React.ReactNode; dataIndex?: keyof T & string; key?: string; width?: number | string; align?: ColumnAlign; sorter?: boolean | ((a: T, b: T) => number); defaultSortOrder?: SortOrder; render?: (value: any, record: T, index: number) => React.ReactNode; ellipsis?: boolean; className?: string; } interface RowSelection { selectedRowKeys?: React.Key[]; onChange?: (selectedRowKeys: React.Key[], selectedRows: T[]) => void; type?: 'checkbox' | 'radio'; } interface TablePaginationConfig extends Pick { current?: number; pageSize?: number; total?: number; onChange?: (page: number, pageSize: number) => void; } interface TableProps extends BaseProps, Omit, 'onChange'> { columns: ColumnType[]; dataSource?: T[]; rowKey?: string | ((record: T) => React.Key); loading?: boolean; bordered?: boolean; size?: SizeType; virtual?: boolean; height?: number; itemHeight?: number; scroll?: { x?: number | string; y?: number | string; }; rowSelection?: RowSelection; pagination?: false | TablePaginationConfig; onChange?: (pagination: TablePaginationConfig, sorter: { field?: string; order?: SortOrder; }) => void; emptyText?: React.ReactNode; showHeader?: boolean; rowClassName?: string | ((record: T, index: number) => string); onRow?: (record: T, index: number) => React.HTMLAttributes; } //#endregion export { ColumnAlign, ColumnType, RowSelection, SortOrder, TablePaginationConfig, TableProps }; //# sourceMappingURL=types.d.ts.map