import { SearchRadioType } from '../../ui/admin-table/types';
export interface TableFitersSortFields {
    key: string;
    field: string;
    order: 'asc' | 'desc';
}
export interface TableFitersFields {
    key: string;
    field: string;
}
export interface UseFetchTableDataProps {
    sortFields: TableFitersSortFields[];
    numberFilters: TableFitersFields[];
    radioFilters: TableFitersFields[];
    dateFilters: TableFitersFields[];
    multiselectFilters: TableFitersFields[];
    searchFields: string[];
    textSearchFields: string[];
    radioSearchFields: string[];
    dateSearchFields: string[];
    numberSearchFields: string[];
    multiselectSearchFields: string[];
    order: string;
    search: string | null;
    searchSelect: string;
    numberSearch: number;
    radioSearch: string;
    dateSearch: number | null;
    multiselectSearch: string[] | null;
    defaultSearchSelect?: string;
    onSetSearch: (value: string) => void;
    onSetSearchSelect: (value: string) => void;
    onSetSearchType: (value: string) => void;
    onSetRadioSearch: (value: string) => void;
    onSetDateSearch: (value: number | null) => void;
    onSetNumberSearch: (value: number) => void;
    onSetMultiselectSearch: (value: string[] | null) => void;
    onSetOrder: (value: string) => void;
    onSetPage: (value: number) => void;
    onSetLimit: (value: number) => void;
}
export declare const useFetchTableData: ({ defaultSearchSelect, sortFields, radioFilters, dateFilters, multiselectFilters, numberFilters, searchFields, textSearchFields, radioSearchFields, dateSearchFields, numberSearchFields, multiselectSearchFields, order, search, searchSelect, numberSearch, radioSearch, dateSearch, multiselectSearch, onSetSearch, onSetSearchSelect, onSetSearchType, onSetRadioSearch, onSetDateSearch, onSetNumberSearch, onSetMultiselectSearch, onSetOrder, onSetPage, onSetLimit, }: UseFetchTableDataProps) => {
    order: string;
    sort: {
        field: string;
        order: string;
    };
    filter: {
        [x: string]: number;
    } | {
        [x: string]: boolean;
    } | {
        [x: string]: Date;
    } | {
        [x: string]: string[];
    };
    searchValue: {
        [x: string]: string;
    };
    searchSelect: string;
    textSearchValue: string;
    multiselectSearchValue: string[];
    numberSearchValue: number;
    dateSearchValue: Date | undefined;
    onChangeSearch: (value: string) => void;
    onChangeTextSearch: (text: string) => void;
    onChangeOrder: (value: string) => void;
    onSetPaginate: (value: number, pageSize: number) => void;
    onShowSizeChange: (_current: number, size: number) => void;
    onChangeRadioSearch: (value: SearchRadioType) => void;
    onChangeDateSearch: (value: Date | null) => void;
    onChangeNumberSearch: (value: number) => void;
    onChangeMultiselectSearch: (value: string[]) => void;
};
