/** an array of paginated results, augmented with the total telegram reported (absent for some endpoints) */ export type Paginated = T[] & { total: number | undefined; }; /** async iterator over paginated results; `collect()` drains the rest into a {@link Paginated} array */ export interface PageIterator extends AsyncIterableIterator { collect: () => Promise>; } interface OffsetPage { items: T[]; total: number | undefined; } interface CursorPage { items: T[]; total: number | undefined; next: string | undefined; } /** auto-page a numeric offset/limit endpoint, yielding items until a short or empty page */ export declare function offsetPaginator(fetchPage: (offset: number, limit: number) => Promise>, startOffset?: number, limit?: number): PageIterator>; /** auto-page a string-cursor endpoint (telegram `next_offset`), yielding items until the cursor empties */ export declare function cursorPaginator(fetchPage: (offset: string, limit: number) => Promise>, startOffset?: string, limit?: number): PageIterator>; export {}; //# sourceMappingURL=paginate.d.ts.map