///
import { useTableProps as useRefineTableProps, BaseRecord, HttpError } from '@refinedev/core';
import { PrimaryTableCol, TableSort, SortOptions, SelectOptions, PaginationProps, FilterValue, PrimaryTableRowEditContext, NamePath, FormInstanceFunctions, PageInfo } from 'tdesign-react/esm';
import { InternalFormInstance } from 'tdesign-react/esm/form/hooks/interface';
import { TableRowData } from 'tdesign-react';
export interface useTableProps extends useRefineTableProps {
filterForm?: FormInstanceFunctions;
columns?: PrimaryTableCol[];
rowKey?: string;
onPagination?: (pageInfo: PageInfo) => void;
onData?: (data?: Record[]) => void;
}
export interface useTableReturnType {
data?: TableRowData[];
filters: Record;
setFilters: (values: Record) => void;
tableFilters: FilterValue;
setTableFilters: (values: FilterValue) => void;
sorters: TableSort;
setSorters: (sort: TableSort, options: SortOptions) => void;
selecteds?: Array;
selectOptions?: SelectOptions;
setSelecteds: (selectedRowKeys: Array, options: SelectOptions) => void;
pagination: PaginationProps;
onRowEdit: (context: PrimaryTableRowEditContext) => void;
loading: boolean;
refetch: () => void;
columns: PrimaryTableCol[];
}
export declare const useTable: ({ columns, rowKey, filterForm, onPagination, onData, ...props }: useTableProps) => useTableReturnType;
export interface TableRef {
refetch: () => void;
selecteds?: Array;
selectOptions?: SelectOptions;
filters: Record;
setFilters: (values: Record) => void;
form?: InternalFormInstance;
}
export interface TableTab {
label: string;
value: string;
icon?: string;
}
export interface FilterItemProps {
children?: React.ReactNode;
name?: NamePath;
label?: string;
}
export declare const FilterItem: ({ name, label, children }: FilterItemProps) => import("react/jsx-runtime").JSX.Element;