import { ElementType } from '@duely/util'; export declare const itemsPerPageOptions: readonly [5, 10, 50, 100, 0]; export declare function isCursorPagination, TKeyField extends keyof TItem>(pagination: UseOffsetPaginationReturn | UseCursorPaginationReturn): pagination is UseCursorPaginationReturn; export declare type UseOffsetPaginationReturn, TKeyField extends keyof TItem> = { key: Symbol; itemsPerPage: ElementType; pageNumber: number; firstIndex: number; lastIndex: number; lastPageNumber: number; loading: boolean; loadingInitial: boolean; error: any; loadingTotalNumberOfItems: boolean; totalNumberOfItems: number; items: TItem[]; data: TItem[]; nextPage(): void; previousPage(): void; setPage(pageNumber: number): void; setItemsPerPage(itemsPerPage: number): void; }; export declare function useOffsetPagination, TKeyField extends keyof TItem>(options: { getTotalNumberOfItems: () => { count: number; loading: boolean; error: any; }; getPageItems: (state: { itemsPerPage: ElementType; pageNumber: number; firstIndex: number; lastIndex: number; }) => { items: TItem[]; loading: boolean; error: any; }; itemsPerPage?: ElementType; pageNumber?: number; }): UseOffsetPaginationReturn; export declare type UseCursorPaginationReturn, TKeyField extends keyof TItem> = { key: Symbol; loading: boolean; loadingInitial: boolean; error: any; items: TItem[]; data: TItem[]; loadMore(): void; itemsPerPage: ElementType; }; export declare function useCursorPagination, TKeyField extends keyof TItem>(options: { keyField: TKeyField | ((item: TItem) => string); getItems: (state: { limit: ElementType; starting_after?: string; }) => { items: TItem[]; loading: boolean; error: any; }; itemsPerPage?: ElementType; }, deps?: unknown[]): UseCursorPaginationReturn;