import { default as React } from 'react';
import { BaseProps } from '../../types';
import { TableSortingType } from '../TableSorting/TableSorting';

export interface TableColumn<T = Record<string, unknown>> {
    /** 列唯一键 */
    key: string;
    /** 列表头文字 */
    label: React.ReactNode;
    /** 是否为当前排序列 */
    selection?: boolean;
    /** 排序方向 */
    sortType?: TableSortingType;
    /** 是否显示排序指示器 */
    sort?: boolean;
    /** 是否禁用表头点击 */
    headerDisabled?: boolean;
    /** 自定义渲染单元格内容 */
    render?: (value: unknown, row: T, rowIndex: number) => React.ReactNode;
    /** 表头点击回调 */
    onHeaderClick?: React.MouseEventHandler<HTMLElement>;
}
export interface TableDataRow {
    /** 行唯一 key */
    key?: string | number;
    [field: string]: unknown;
}
export interface TableProps<T extends TableDataRow = TableDataRow> extends BaseProps {
    /** 列定义 */
    columns?: TableColumn<T>[];
    /** 数据行 */
    dataSource?: T[];
    /** 是否开启斑马纹 */
    zebra?: boolean;
    /** 是否在每行底部显示分割线 */
    rowDivider?: boolean;
    /** 完全自定义内容（会替换所有默认渲染） */
    children?: React.ReactNode;
}
export declare const Table: React.ForwardRefExoticComponent<TableProps<TableDataRow> & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=Table.d.ts.map