import * as React from 'react'; /** * ColumnType which applied in antd: https://ant.design/components/table-cn/#Column * - defaultSortOrder * - filterDropdown * - filterDropdownVisible * - filtered * - filteredValue * - filterIcon * - filterMultiple * - filters * - sorter * - sortOrder * - sortDirections * - onFilter * - onFilterDropdownVisibleChange */ export declare type Key = React.Key; export declare type FixedType = 'left' | 'right' | boolean; export declare type DefaultRecordType = Record; export declare type TableLayout = 'auto' | 'fixed'; export declare type RowClassName = (record: RecordType, index: number, indent: number) => string; export interface CellType { key?: Key; className?: string; style?: React.CSSProperties; children?: React.ReactNode; column?: ColumnsType[number]; colSpan?: number; rowSpan?: number; /** Only used for table header */ hasSubColumns?: boolean; colStart?: number; colEnd?: number; } export interface RenderedCell { props?: CellType; children?: React.ReactNode; } export declare type DataIndex = string | number | (string | number)[]; export declare type CellEllipsisType = { showTitle?: boolean; } | boolean; interface ColumnSharedType { title?: React.ReactNode; key?: Key; className?: string; fixed?: FixedType; onHeaderCell?: GetComponentProps[number]>; ellipsis?: CellEllipsisType; align?: AlignType; } export interface ColumnGroupType extends ColumnSharedType { children: ColumnsType; } export declare type AlignType = 'left' | 'center' | 'right'; export interface ColumnType extends ColumnSharedType { colSpan?: number; dataIndex?: DataIndex; render?: (value: any, record: RecordType, index: number) => React.ReactNode | RenderedCell; shouldCellUpdate?: (record: RecordType, prevRecord: RecordType) => boolean; rowSpan?: number; width?: number | string; onCell?: GetComponentProps; /** @deprecated Please use `onCell` instead */ onCellClick?: (record: RecordType, e: React.MouseEvent) => void; } export declare type ColumnsType = (ColumnGroupType | ColumnType)[]; export declare type GetRowKey = (record: RecordType, index?: number) => Key; export interface StickyOffsets { left: number[]; right: number[]; } export declare type GetComponentProps = (data: DataType, index?: number) => React.HTMLAttributes; declare type Component

= React.ComponentType

| React.ForwardRefExoticComponent

| React.FC

| keyof React.ReactHTML; export declare type CustomizeComponent = Component; export declare type CustomizeScrollBody = (data: RecordType[], info: { scrollbarSize: number; ref: React.Ref<{ scrollLeft: number; }>; onScroll: (info: { currentTarget?: HTMLElement; scrollLeft?: number; }) => void; }) => React.ReactNode; export interface TableComponents { table?: CustomizeComponent; header?: { wrapper?: CustomizeComponent; row?: CustomizeComponent; cell?: CustomizeComponent; }; body?: CustomizeScrollBody | { wrapper?: CustomizeComponent; row?: CustomizeComponent; cell?: CustomizeComponent; }; } export declare type GetComponent = (path: string[], defaultComponent?: CustomizeComponent) => CustomizeComponent; export declare type ExpandableType = false | 'row' | 'nest'; export interface LegacyExpandableProps { /** @deprecated Use `expandable.expandedRowKeys` instead */ expandedRowKeys?: Key[]; /** @deprecated Use `expandable.defaultExpandedRowKeys` instead */ defaultExpandedRowKeys?: Key[]; /** @deprecated Use `expandable.expandedRowRender` instead */ expandedRowRender?: ExpandedRowRender; /** @deprecated Use `expandable.expandRowByClick` instead */ expandRowByClick?: boolean; /** @deprecated Use `expandable.expandIcon` instead */ expandIcon?: RenderExpandIcon; /** @deprecated Use `expandable.onExpand` instead */ onExpand?: (expanded: boolean, record: RecordType) => void; /** @deprecated Use `expandable.onExpandedRowsChange` instead */ onExpandedRowsChange?: (expandedKeys: Key[]) => void; /** @deprecated Use `expandable.defaultExpandAllRows` instead */ defaultExpandAllRows?: boolean; /** @deprecated Use `expandable.indentSize` instead */ indentSize?: number; /** @deprecated Use `expandable.expandIconColumnIndex` instead */ expandIconColumnIndex?: number; /** @deprecated Use `expandable.expandedRowClassName` instead */ expandedRowClassName?: RowClassName; /** @deprecated Use `expandable.childrenColumnName` instead */ childrenColumnName?: string; } export declare type ExpandedRowRender = (record: ValueType, index: number, indent: number, expanded: boolean) => React.ReactNode; export interface RenderExpandIconProps { prefixCls: string; expanded: boolean; record: RecordType; expandable: boolean; onExpand: TriggerEventHandler; } export declare type RenderExpandIcon = (props: RenderExpandIconProps) => React.ReactNode; export interface ExpandableConfig extends LegacyExpandableProps { rowExpandable?: (record: RecordType) => boolean; } export declare type PanelRender = (data: RecordType[]) => React.ReactNode; export declare type TriggerEventHandler = (record: RecordType, event: React.MouseEvent) => void; export {};