import type { CompleteEmission, ModelCallContext, ModelTurnResult, RunOutputSink, RunServices, SuspendEmission } from './run-output-sink'; import type { GenerateResult } from '../../types'; import type { ToolCallBatchResult } from '../tools/tool-call-executor'; export declare class GenerateSink implements RunOutputSink { private readonly services; private readonly toolCallSummary; constructor(services: RunServices); reportUsage(): void; callModel(ctx: ModelCallContext): Promise; emitToolBatch(batch: ToolCallBatchResult): Promise; finishSuspended(emission: SuspendEmission): Promise; finishComplete(emission: CompleteEmission): Promise; }