import type { Client } from "#client/client.js"; import type { ClientSession } from "#client/session.js"; import type { SendTurnInput, SessionState } from "#client/types.js"; import type { HandleMessageStreamEvent, TurnFailureStreamEvent } from "#protocol/message.js"; import type { InputRequest, InputResponse } from "#runtime/input/types.js"; import type { EveEvalSession, EveEvalSessionResult, EveEvalTurn } from "#evals/types.js"; /** * Error thrown by {@link EveEvalTurn.expectOk} when a turn failed. */ export declare class EveEvalTurnFailedError extends Error { readonly event: TurnFailureStreamEvent | undefined; readonly turn: EveEvalTurn; constructor(turn: EveEvalTurn); } export declare class EvalSessionDriver implements EveEvalSession { #private; constructor(input: { readonly session: ClientSession; readonly signal?: AbortSignal; }); get events(): readonly HandleMessageStreamEvent[]; get lastTurn(): EveEvalTurn | undefined; get pendingInputRequests(): readonly InputRequest[]; get sessionId(): string | undefined; get state(): SessionState; expectInputRequests(filter?: { readonly display?: InputRequest["display"]; readonly toolName?: string; }): readonly InputRequest[]; respond(...responses: InputResponse[]): Promise; respondAll(optionId: string): Promise; send(input: SendTurnInput): Promise; sendFile(text: string, filePath: string, mediaType?: string): Promise; readTurn(options?: { readonly startIndex?: number; }): Promise; snapshot(primary: boolean): EveEvalSessionResult; } export declare class EvalSessionManager { #private; constructor(input: { readonly client: Client; readonly signal?: AbortSignal; }); get primary(): EvalSessionDriver; newSession(): EvalSessionDriver; attachSession(sessionId: string, options?: { readonly startIndex?: number; }): Promise; snapshots(): readonly EveEvalSessionResult[]; lastTurnSession(): EvalSessionDriver | undefined; }