/** * Zoe Core — StreamManager * * Shared streaming queue management for text deltas, step results, * and SSE conversion. Eliminates duplication between SDK's streamText() * and agent's chatStream(). * * Pattern: push-based queues with resolver-based backpressure. * Producers call enqueueText/enqueueStep; consumers iterate via * textStream/stepsStream async iterables. */ import type { StepResult, Usage } from "./types.js"; export declare class StreamManager { private textQueue; private stepQueue; private eventQueue; private textDone; private stepsDone; private eventsDone; private textResolver; private stepResolver; private eventResolver; private textResolve; private usageResolve; private finishResolve; readonly fullText: Promise; readonly usage: Promise; readonly finishReason: Promise; constructor(); /** Enqueue a text delta and wake any waiting consumer. */ enqueueText(delta: string): void; /** Enqueue a step result and wake any waiting consumer. */ enqueueStep(step: StepResult): void; /** Resolve the fullText promise. */ resolveText(text: string): void; /** Resolve the usage promise. */ resolveUsage(usage: Usage): void; /** Resolve the finishReason promise. */ resolveFinish(reason: string): void; /** Signal completion: set done flags and wake any waiting consumers. */ complete(): void; /** Async iterable of text deltas. */ get textStream(): AsyncIterable; /** Async iterable of step results. */ get stepsStream(): AsyncIterable; /** * Returns a ReadableStream that pipes text deltas and tool events as SSE. * * Events emitted: * - `text` — { delta: string } * - `tool_call` — { callId, name, args } * - `tool_result` — { callId, output, success } * - `done` — { usage: { totalTokens, cost }, finishReason } */ toSSEStream(): ReadableStream; /** Returns a Web API Response wrapping the SSE stream. */ toResponse(): Response; }