import type { ListParams } from './common';
export interface Page<T> {
    items: T[];
    params: ListParams;
}
export declare class NavigablePage<T> implements Page<T> {
    items: T[];
    params: ListParams;
    private readonly nextPageLoader?;
    constructor(data: Page<T>, nextPageLoader?: (page: number) => Promise<NavigablePage<T>>);
    get totalPages(): number;
    get hasNextPage(): boolean;
    nextPage(): Promise<NavigablePage<T>>;
    [Symbol.asyncIterator](): AsyncIterator<T>;
    toArray(): Promise<T[]>;
}
//# sourceMappingURL=Page.d.ts.map