import { FinalRequestOptions } from "../internal/request-options.js"; import { type Scenario } from "../client.js"; import { APIPromise } from "./api-promise.js"; import { type APIResponseProps } from "../internal/parse.js"; export type PageRequestOptions = Pick; export declare abstract class AbstractPage implements AsyncIterable { #private; protected options: FinalRequestOptions; protected response: Response; protected body: unknown; constructor(client: Scenario, response: Response, body: unknown, options: FinalRequestOptions); abstract nextPageRequestOptions(): PageRequestOptions | null; abstract getPaginatedItems(): Item[]; hasNextPage(): boolean; getNextPage(): Promise; iterPages(): AsyncGenerator; [Symbol.asyncIterator](): AsyncGenerator; } /** * This subclass of Promise will resolve to an instantiated Page once the request completes. * * It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg: * * for await (const item of client.items.list()) { * console.log(item) * } */ export declare class PagePromise, Item = ReturnType[number]> extends APIPromise implements AsyncIterable { constructor(client: Scenario, request: Promise, Page: new (...args: ConstructorParameters) => PageClass); /** * Allow auto-paginating iteration on an unawaited list call, eg: * * for await (const item of client.items.list()) { * console.log(item) * } */ [Symbol.asyncIterator](): AsyncGenerator; } export interface AssetsCursorResponse { assets: Array; nextPaginationToken: string; } export interface AssetsCursorParams { paginationToken?: string; } export declare class AssetsCursor extends AbstractPage implements AssetsCursorResponse { assets: Array; nextPaginationToken: string; constructor(client: Scenario, response: Response, body: AssetsCursorResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface SnapshotsCursorResponse { nextPaginationToken: string; snapshots: Array; } export interface SnapshotsCursorParams { paginationToken?: string; } export declare class SnapshotsCursor extends AbstractPage implements SnapshotsCursorResponse { nextPaginationToken: string; snapshots: Array; constructor(client: Scenario, response: Response, body: SnapshotsCursorResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface CollectionsCursorResponse { collections: Array; nextPaginationToken: string; } export interface CollectionsCursorParams { paginationToken?: string; } export declare class CollectionsCursor extends AbstractPage implements CollectionsCursorResponse { collections: Array; nextPaginationToken: string; constructor(client: Scenario, response: Response, body: CollectionsCursorResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface JobsCursorResponse { jobs: Array; nextPaginationToken: string; } export interface JobsCursorParams { paginationToken?: string; } export declare class JobsCursor extends AbstractPage implements JobsCursorResponse { jobs: Array; nextPaginationToken: string; constructor(client: Scenario, response: Response, body: JobsCursorResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface ModelsCursorResponse { models: Array; nextPaginationToken: string; } export interface ModelsCursorParams { paginationToken?: string; } export declare class ModelsCursor extends AbstractPage implements ModelsCursorResponse { models: Array; nextPaginationToken: string; constructor(client: Scenario, response: Response, body: ModelsCursorResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface TagsCursorResponse { nextPaginationToken: string; tags: Array; } export interface TagsCursorParams { paginationToken?: string; } export declare class TagsCursor extends AbstractPage implements TagsCursorResponse { nextPaginationToken: string; tags: Array; constructor(client: Scenario, response: Response, body: TagsCursorResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface WorkflowsCursorResponse { nextPaginationToken: string; workflows: Array; } export interface WorkflowsCursorParams { paginationToken?: string; } export declare class WorkflowsCursor extends AbstractPage implements WorkflowsCursorResponse { nextPaginationToken: string; workflows: Array; constructor(client: Scenario, response: Response, body: WorkflowsCursorResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface SearchHitsOffsetResponse { estimatedTotalHits: number; hits: Array; offset: number; } export interface SearchHitsOffsetParams { offset?: number; } export declare class SearchHitsOffset extends AbstractPage implements SearchHitsOffsetResponse { estimatedTotalHits: number; hits: Array; offset: number; constructor(client: Scenario, response: Response, body: SearchHitsOffsetResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } //# sourceMappingURL=pagination.d.ts.map