import { IObject } from '../../interfaces';
import { IUseViewProps, IViewResponse, IStatusInfo } from '../useView/useView.interfaces';
export interface IFilterOptions {
    noRequest?: boolean;
    disableQueryChange?: boolean;
    replaceUrl?: boolean;
}
export interface IStatusInfoViewList extends IStatusInfo {
    errorLoadMore: boolean;
    searchingMore: boolean;
    searching: boolean;
    lastPage: boolean;
}
export interface IUseViewListProps extends IUseViewProps {
    filtersDefault?: any;
    schemaFilter?: IObject;
    limit?: number;
    infiniteScroll?: boolean;
    reverseItems?: boolean;
    disableQueryChange?: boolean;
    ignoreFiltersInQuery?: any[];
    ignoreQueryInFilters?: any[];
    changeOnlyPath?: string;
    handleRequestBody?: (filter: any) => any;
    handleFilterToQuery?: (query: any) => any;
    handleQueryToFilter?: (filter: any) => any;
}
export interface IViewList<IFilter = IObject, IQuery = IObject, IResource = any> extends IViewResponse {
    searchingMore: boolean;
    searching: boolean;
    lastPage: boolean;
    errorLoadMore: boolean;
    skeletonResources: number[];
    resources: any[];
    resourcesTotal: number;
    removeResource: (id: any, softDelete: boolean) => void;
    removeManyResources: (ids: any[], softDelete: boolean) => void;
    setHandleRequestBody: (f: (filter: IFilter) => any) => void;
    setHandleFilterToQuery: (f: (query: IFilter) => any) => void;
    setHandleQueryToFilter: (f: (filter: IQuery) => any) => void;
    registerOnSearch: (f: () => void) => void;
    filters: IFilter;
    setFilters: (f: (draft: any) => any, options?: IFilterOptions) => void;
    limit: number;
    setPage: (page: number, options?: IFilterOptions) => void;
    setOffset: (offset: number, options?: IFilterOptions) => void;
    setSort: (sort: string, options?: IFilterOptions) => void;
    loadNextPage: (options?: IFilterOptions) => void;
    reloadResources: (wait1s?: boolean, options?: IFilterOptions) => void;
    resetPageViewList: (wait1s?: boolean, options?: IFilterOptions) => void;
}
//# sourceMappingURL=useViewList.interfaces.d.ts.map