import React from 'react'; import { TableProps, TableRowSelection, ColumnProps } from 'antd/lib/table'; import { TooltipPlacement } from 'antd/lib/tooltip'; import { PaginationConfig as AntPaginationConfig } from 'antd/lib/pagination'; import EditStatus from '../edit-status'; declare type Direction = 'row' | 'row-reverse'; declare const defaultProps: { bordered: boolean; columns: any[]; dataSource: any[]; pagination: any; resizable: boolean; headerMarginBottom: number; rowSelection: any; isZebra: boolean; editable: EditStatus; wrap: boolean; footerDirection: Direction; orderList: any[]; light: boolean; cellPadding: number; headerProps: {}; emptyDescription: string; withIndex: number; onSave: (list: Array, diffData: Array>) => void; }; export declare type Order = { fieldName: string; orderType: string; }; export declare type Record = { children?: Record[]; isDeleted?: boolean; [key: string]: any; }; export declare type RowKey = (record: T, index?: number) => string; export declare type ProtoExtends = U & { [K in Exclude]?: NonNullable; }; export declare type PartRequired = Required> & Partial>; export declare type RowSelection = ProtoExtends, { selectedRowKeys: string[]; onSelect?: (rows: any, selected: boolean) => void; preventDefault?: boolean; clickable?: boolean; showFooterSelection?: boolean; }>; export declare type EditRender = (value: string, record: T, rowIndex: number) => React.ReactElement; export declare type EditConfig = { render: EditRender; showDirt?: boolean; editValue?: string | ((record: T, rowIndex: number, dataIndex: string) => string); clickable?: boolean | ((record: T, rowIndex: number, dataIndex: string) => boolean); }; export interface GColumnProps extends ColumnProps { showFilter?: boolean; codeData?: string; editConfig?: EditConfig; showTip?: boolean; placement?: TooltipPlacement; expandColumn?: boolean; } export declare type EditActions = ([list, Fn]: [Array, React.Dispatch>>], keys: Array) => React.ReactElement; export declare type OnDragEnd = (list: Array) => void; export declare type Tail = (currentPageData: Array) => React.ReactNode; export declare type PaginationConfig = AntPaginationConfig | null | false; export interface RowHeight { (index: number, Record: T): number | string; } export interface VirtualScroll { threshold?: number; rowHeight?: number | string; center?: boolean; } interface Props { cellPadding: React.ReactText; dataSource: T[]; columns: GColumnProps[]; editActions: EditActions; emptyDescription: React.ReactNode; flex?: boolean; footerDirection: Direction; headerLeft: React.ReactElement; headerMarginBottom: number; headerRight: React.ReactNode; onDragEnd: OnDragEnd; orderList: Array; pagination: PaginationConfig; resizable: boolean; rowSelection: RowSelection; scrollKey: string; spacing: React.ReactText; tableKey: string; tail: Tail; title: React.ReactNode; onScroll: Function; virtualScroll: VirtualScroll | true; } declare type GantTableProps = ProtoExtends, Props>; declare type GantTableDefaultProps = Partial; export declare type GantTableListOuterProps = PartRequired, GantTableProps>, 'columns' | 'dataSource'>; export declare type ScrollElement = HTMLElement & { scrollTopBackUp: number; scrollloaded: boolean; }; export default class GantTable extends React.Component> { render(): React.JSX.Element; } export {};