import type { RuntimeSession, RuntimeSessionEvent, PromptResult } from './session.js'; import type { RuntimeUsage } from './events.js'; export type CollectedTurnStatus = 'running' | 'completed' | 'failed' | 'cancelled'; export interface CollectedToolRun { id: string; tag: string; name?: string; title?: string; status: 'running' | 'completed' | 'failed'; inputChars: number; outputChars: number; } export interface CollectedTurnResult { text: string; tools: CollectedToolRun[]; status: CollectedTurnStatus; stopReason: string | null; error: string | null; promptResult: PromptResult | null; usage: RuntimeUsage | null; events?: RuntimeSessionEvent[]; } export interface CollectTurnResultOptions { includeEvents?: boolean; onEvent?: (event: RuntimeSessionEvent, snapshot: CollectedTurnResult) => void; onUpdate?: (snapshot: CollectedTurnResult) => void; } type TurnResultSession = Pick & Pick, 'transcript'>; export declare function collectTurnResult(session: TurnResultSession, prompt: string, options?: CollectTurnResultOptions): Promise; export {};