import React from 'react'; import { ColumnsType, TableLocale, TableProps, Key } from '../ui/Table/interfaces'; import { PaginationLocale } from '../ui/Pagination/interfaces'; import { ControlledSorter } from '../ui/Table/hooks/useSorter'; export declare type DataTableProps = { resource: string; columns: ColumnsType; initialSorter?: ControlledSorter; locale?: Partial<{ table: TableLocale; pagination: PaginationLocale & { total: (total: number) => string; }; }>; config?: DataTableConfig; autoupdateTime?: number; }; export interface DataTableConfig extends Pick, 'dndRows' | 'showSorterTooltip' | 'bordered' | 'size' | 'title' | 'footer'> { rowSelection?: DataTableRowSelectionConfig; autoupdateTime?: number; } export declare type DataTableRowSelectionConfig = { render: ({ selectedRowKeys, selectedRows, refresh, }: { selectedRowKeys: Key[]; selectedRows: RecordType[]; refresh: () => void; }) => React.ReactNode; onSelectionChange?: (selectedRowKeys: Key[], selectedRows: RecordType[]) => void; }; export declare function DataTable({ resource, columns, locale, config, autoupdateTime, }: DataTableProps): JSX.Element;