import { ListProviderType, TFilterOptions } from "./type";
export declare function useList<T>({ fetcher, pageSize, defaultSearch, defaultFilters, debounceSearch, defaultLoading, defaultItems, defaultTotal, defaultPage, }: {
    fetcher: ListProviderType<T>['fetcher'];
    pageSize?: number;
    defaultSearch?: string;
    defaultFilters?: Record<string, any>;
    debounceSearch?: number;
    defaultLoading?: boolean;
    defaultItems?: T[];
    defaultTotal?: number;
    defaultPage?: number;
}): {
    items: T[];
    total: number;
    page: number;
    pageSize: number;
    search: string;
    loading: boolean;
    loadingMore: boolean;
    filters: Record<string, any>;
    handleChangePage: (page: number) => void;
    handleChangeSearch: (value: string) => void;
    handleLoadMore: () => void;
    handleChangeFilter: (filterData: TFilterOptions, filterOptions: TFilterOptions[]) => void;
    handleUpdateFilter: (filterObject: Record<string, any>) => void;
    resetData: () => void;
};
