import { FinalRequestOptions } from '../internal/request-options.js'; import { type Langsmith } 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: Langsmith, 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: Langsmith, 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 type OffsetPaginationTopLevelArrayResponse = Item[]; export interface OffsetPaginationTopLevelArrayParams { offset?: number; limit?: number; } export declare class OffsetPaginationTopLevelArray extends AbstractPage { items: Array; constructor(client: Langsmith, response: Response, body: OffsetPaginationTopLevelArrayResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface OffsetPaginationReposResponse { repos: Array; total: number; } export interface OffsetPaginationReposParams { offset?: number; limit?: number; } export declare class OffsetPaginationRepos extends AbstractPage implements OffsetPaginationReposResponse { repos: Array; total: number; constructor(client: Langsmith, response: Response, body: OffsetPaginationReposResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface OffsetPaginationCommitsResponse { commits: Array; total: number; } export interface OffsetPaginationCommitsParams { offset?: number; limit?: number; } export declare class OffsetPaginationCommits extends AbstractPage implements OffsetPaginationCommitsResponse { commits: Array; total: number; constructor(client: Langsmith, response: Response, body: OffsetPaginationCommitsResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface OffsetPaginationOnlineEvaluatorsResponse { evaluators: Array; total: number; } export interface OffsetPaginationOnlineEvaluatorsParams { offset?: number; limit?: number; } export declare class OffsetPaginationOnlineEvaluators extends AbstractPage implements OffsetPaginationOnlineEvaluatorsResponse { evaluators: Array; total: number; constructor(client: Langsmith, response: Response, body: OffsetPaginationOnlineEvaluatorsResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface OffsetPaginationInsightsClusteringJobsResponse { clustering_jobs: Array; } export interface OffsetPaginationInsightsClusteringJobsParams { offset?: number; limit?: number; } export declare class OffsetPaginationInsightsClusteringJobs extends AbstractPage implements OffsetPaginationInsightsClusteringJobsResponse { clustering_jobs: Array; constructor(client: Langsmith, response: Response, body: OffsetPaginationInsightsClusteringJobsResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface CursorPaginationResponse { runs: Array; cursors: CursorPaginationResponse.Cursors; } export declare namespace CursorPaginationResponse { interface Cursors { next?: string; } } export interface CursorPaginationParams { cursor?: string; limit?: number; } export declare class CursorPagination extends AbstractPage implements CursorPaginationResponse { runs: Array; cursors: CursorPaginationResponse.Cursors; constructor(client: Langsmith, response: Response, body: CursorPaginationResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface ItemsCursorPostPaginationResponse { items: Array; next_cursor: string; } export interface ItemsCursorPostPaginationParams { cursor?: string; page_size?: number; } export declare class ItemsCursorPostPagination extends AbstractPage implements ItemsCursorPostPaginationResponse { items: Array; next_cursor: string; constructor(client: Langsmith, response: Response, body: ItemsCursorPostPaginationResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; } export interface ItemsCursorGetPaginationResponse { items: Array; next_cursor: string; } export interface ItemsCursorGetPaginationParams { cursor?: string; page_size?: number; } export declare class ItemsCursorGetPagination extends AbstractPage implements ItemsCursorGetPaginationResponse { items: Array; next_cursor: string; constructor(client: Langsmith, response: Response, body: ItemsCursorGetPaginationResponse, options: FinalRequestOptions); getPaginatedItems(): Item[]; nextPageRequestOptions(): PageRequestOptions | null; }