import type { Client } from './client.js'; import type { SeamHttpRequestOptions } from './options.js'; import { SeamHttpRequest } from './seam-http-request.js'; interface SeamPaginatorParent { readonly client: Client; readonly defaults: Required; } declare const $brand: unique symbol; export type SeamPageCursor = string & { [$brand]: 'SeamPageCursor'; }; interface Pagination { readonly hasNextPage: boolean; readonly nextPageCursor: SeamPageCursor | null; readonly nextPageUrl: string | null; } export declare class SeamPaginator implements AsyncIterable> { #private; constructor(parent: SeamPaginatorParent, request: SeamHttpRequest); firstPage(): Promise<[ EnsureReadonlyArray, Pagination ]>; nextPage(nextPageCursor: Pagination['nextPageCursor']): Promise<[EnsureReadonlyArray, Pagination]>; flattenToArray(): Promise>; flatten(): AsyncGenerator>; [Symbol.asyncIterator](): AsyncGenerator>; } type EnsureReadonlyArray = T extends readonly any[] ? T : never; export {};