import { EntityListSortByOptions, SortByReaction, SortDirection, SortType } from "../../interfaces/EntityListSortByOptions";
import { Entity, EntityIncludeParam } from "../../interfaces/models/Entity";
import { TimeFrame } from "../../interfaces/TimeFrame";
import { KeywordsFilters } from "../../interfaces/entity-filters/KeywordsFilters";
import { TitleFilters } from "../../interfaces/entity-filters/TitleFilters";
import { ContentFilters } from "../../interfaces/entity-filters/ContentFilters";
import { AttachmentsFilters } from "../../interfaces/entity-filters/AttachmentsFilters";
import { LocationFilters } from "../../interfaces/entity-filters/LocationFilters";
import { MetadataFilters } from "../../interfaces/entity-filters/MetadataFilters";
export interface UseFetchManyEntitiesWrapperProps {
    userId?: string | null;
    limit?: number;
    sourceId?: string | null;
    spaceId?: string | null;
    followedOnly?: boolean;
    include?: EntityIncludeParam;
    defaultSortBy?: EntityListSortByOptions;
    defaultSortByReaction?: SortByReaction;
    defaultSortDir?: SortDirection;
    defaultSortType?: SortType;
    timeFrame?: TimeFrame | null;
    keywordsFilters?: KeywordsFilters | null;
    titleFilters?: TitleFilters | null;
    contentFilters?: ContentFilters | null;
    attachmentsFilters?: AttachmentsFilters | null;
    locationFilters?: LocationFilters | null;
    metadataFilters?: MetadataFilters | null;
}
export interface UseFetchManyEntitiesWrapperValues {
    entities: Entity[];
    loading: boolean;
    hasMore: boolean;
    sortBy: EntityListSortByOptions;
    sortByReaction: SortByReaction;
    sortDir: SortDirection;
    sortType: SortType;
    setSortBy: (newSortBy: EntityListSortByOptions) => void;
    setSortByReaction: (newSortByReaction: SortByReaction) => void;
    setSortDir: (newSortDir: SortDirection) => void;
    setSortType: (newSortType: SortType) => void;
    loadMore: () => void;
}
declare function useFetchManyEntitiesWrapper(props: UseFetchManyEntitiesWrapperProps): UseFetchManyEntitiesWrapperValues;
export default useFetchManyEntitiesWrapper;
