import { FormProps } from 'antd'; import { TableProps } from 'antd/lib/table'; import { QueryObserverResult, UseQueryOptions } from 'react-query'; import { BaseRecord, CrudFilters, CrudSorting, GetListResponse, SuccessErrorNotification, HttpError, MetaDataQuery, LiveModeProps } from '../../../interfaces'; export declare type useTableProps = { resource?: string; initialCurrent?: number; initialPageSize?: number; initialSorter?: CrudSorting; permanentSorter?: CrudSorting; initialFilter?: CrudFilters; permanentFilter?: CrudFilters; syncWithLocation?: boolean; onSearch?: (data: { [key: string]: string; }) => CrudFilters | Promise; queryOptions?: UseQueryOptions, TError>; metaData?: MetaDataQuery; searchQueries?: string[]; } & SuccessErrorNotification & LiveModeProps; export declare type useTableReturnType = { searchFormProps: FormProps<{ [key: string]: string; }>; tableProps: TableProps & { searchFormProps: FormProps<{ [key: string]: string; }> & { searchQueries: string[]; }; }; tableQueryResult: QueryObserverResult>; sorter?: CrudSorting; filters?: CrudFilters; getFilterOptions?: any; }; export declare type TFilterOption = { label: string; dataField: keyof TData; type?: 'date-range' | 'common'; }; export declare const useTable: ({ initialCurrent, initialPageSize, initialSorter, initialFilter, permanentSorter, permanentFilter, syncWithLocation: syncWithLocationProp, resource: resourceFromProp, successNotification, errorNotification, queryOptions, liveMode: liveModeFromProp, onLiveEvent, liveParams, metaData, searchQueries, }?: useTableProps) => useTableReturnType;