import { Paging } from '../protocol/xep0059'; type RSMQuery = (page: Paging) => Promise<{ results: T[]; paging: Paging; }>; interface RSMOptions { pageSize?: number; direction?: 'forward' | 'backward'; reverse?: boolean; before?: string; after?: string; max?: number; query: RSMQuery; } export declare class ResultSetPager { private query; private cursor; private direction; private reverse; private pageSize; private resultCount?; private resultComplete; private fetchedCount; private yieldedCount; constructor(opts: RSMOptions); [Symbol.asyncIterator](): AsyncGenerator; size(): Promise; queryCompleted(): boolean; finished(): boolean; private fetchPage; } export declare function createPager(opts: RSMOptions): ResultSetPager; export {};