import { Observable, OperatorFunction } from 'rxjs'; import { EntitiesRef, EntitiesState, getEntityType, DefaultEntitiesRef, getIdType } from '@ngneat/elf-entities'; import { EmptyConfig, Query, Reducer, PropsFactory, StateOf, Store, StoreDef } from '@ngneat/elf'; export interface PaginationData { total: number; perPage: number; lastPage: number; currentPage: IdType; } export interface PaginationState { pagination: { pages: Record; } & PaginationData; } export declare function withPagination(options?: { initialPage?: IdType; }): PropsFactory, EmptyConfig>; export declare function setPage & EntitiesState, Ref extends EntitiesRef = DefaultEntitiesRef>(key: string | number, ids: Array>): Reducer; export declare function selectPaginationData & EntitiesState, Ref extends EntitiesRef = DefaultEntitiesRef>(): OperatorFunction; export declare function getPaginationData & EntitiesState, Ref extends EntitiesRef = DefaultEntitiesRef>(): Query; export declare function updatePaginationData & EntitiesState, Ref extends EntitiesRef = DefaultEntitiesRef>(data: PaginationData): Reducer; export declare function deletePage & EntitiesState, Ref extends EntitiesRef = DefaultEntitiesRef>(id: string | number): Reducer; export declare function deleteAllPages & EntitiesState, Ref extends EntitiesRef = DefaultEntitiesRef>(): Reducer; export declare function setCurrentPage & EntitiesState>(id: S['pagination']['currentPage']): Reducer; export declare function selectCurrentPage>(): OperatorFunction; export declare function selectHasPage>(id: S['pagination']['currentPage']): OperatorFunction; export declare function hasPage>(id: S['pagination']['currentPage']): Query; export declare function selectCurrentPageEntities & EntitiesState, Ref extends EntitiesRef = DefaultEntitiesRef>(): OperatorFunction>>; export declare function skipWhilePageExists>(store: Store>, page: string | number, options?: { returnSource?: Observable; }): (source: Observable) => Observable;