export interface CursorPageParams { limit?: number; after?: string; before?: string; } export interface OffsetLimitPageParams { limit?: number; page?: number; } export interface PageResponse { data: Array; } export interface CursorPageResponse extends PageResponse { pagination: { next?: string; previous?: string; }; } export interface OffsetLimitPageResponse extends PageResponse { pagination: { currentPage: number; totalPages: number; count: number; }; } export interface Page { getPaginatedItems(): Item[]; hasNextPage(): boolean; hasPreviousPage(): boolean; } export declare class CursorPage implements CursorPageResponse, Page, AsyncIterable { private pageFetcher; data: Array; pagination: { next?: string; previous?: string; }; constructor(data: Array, pagination: { next?: string; previous?: string; }, pageFetcher: (params: Omit) => Promise>); getPaginatedItems(): Item[]; hasNextPage(): boolean; hasPreviousPage(): boolean; getNextPage(): Promise>; getPreviousPage(): Promise>; iterPages(): AsyncGenerator, void, unknown>; [Symbol.asyncIterator](): AsyncGenerator, void, unknown>; } export declare class OffsetLimitPage implements OffsetLimitPageResponse, Page, AsyncIterable { private pageFetcher; data: Array; pagination: { currentPage: number; totalPages: number; count: number; }; constructor(data: Array, pagination: { currentPage: number; totalPages: number; count: number; }, pageFetcher: (params: Omit) => Promise>); getPaginatedItems(): Item[]; hasNextPage(): boolean; hasPreviousPage(): boolean; getNextPage(): Promise>; getPreviousPage(): Promise>; iterPages(): AsyncGenerator, void, unknown>; [Symbol.asyncIterator](): AsyncGenerator, void, unknown>; }