import React from 'react'; import { ConfigProviderProps } from 'antd/es/config-provider'; import { TableProps, ColumnProps } from 'antd/lib/table'; import { TableRowSelection } from 'antd/lib/table/interface'; import { IColumnsType } from '../d-query-form/DQueryForm'; import { PaginationProps } from 'antd/lib/pagination'; declare const ModeTypes: ['default', 'compact', string]; export declare type ModeType = typeof ModeTypes[number]; export interface ITableColumnProps extends ColumnProps { apiFilter?: { name: string; callback: (data: string[]) => string; }; apiSorter?: { name: string; ascend?: string; descend?: string; }; apiSearch?: { name: string; }; searchRender?: (value: React.ReactText, row: T, index: number, highlightNode: React.ReactNode) => React.ReactNode; } interface IPageParamsProps extends PaginationProps { curPageName: string; pageSizeName: string; startPage?: 0 | 1 | number; } interface ISearchParamsProps { apiName: string; placeholder?: string; } interface IDataTableProps extends TableProps { tableTitle?: string; columns: ITableColumnProps[]; rowSelection?: TableRowSelection; url: string; showQueryOptionBtns?: boolean; showQueryCollapseButton?: boolean; dQueryFormProps?: any; isQuerySearchOnChange?: boolean; queryMode?: ModeType; dQueryFormColumns?: IColumnsType[]; hideContentBorder?: boolean; fetchOptions?: any; apiCallback?: (data: any) => any; apiErrorCallback?: (data: any) => any; onSearch?: (data: string) => any; customQueryCallback?: (data: any) => any; customFetchUrlCallback?: (url: string) => string; pageParams: IPageParamsProps; searchParams?: ISearchParamsProps; searchPos?: 'full' | 'right' | string; showReloadBtn?: boolean; showFilter?: boolean; showBodyBg?: boolean; filterType?: 'line' | 'half' | 'none' | string; reloadBtnPos?: 'left' | 'right' | string; reloadBtnType?: 'icon' | 'btn' | string; leftHeader?: React.ReactNode | string | number; customHeader?: React.ReactNode | string | number; antProps?: TableProps; antConfig?: {} & ConfigProviderProps; } declare function DataTable(props: IDataTableProps): JSX.Element; export default DataTable;