import type { AssistantMessage, AssistantMessageEvent } from "../types"; export declare class EventStream implements AsyncIterable { #private; queue: T[]; waiting: Array<{ resolve: (value: IteratorResult) => void; reject: (err: unknown) => void; }>; done: boolean; /** True once finalResultPromise has been resolved or rejected. */ resultSettled: boolean; finalResultPromise: Promise; resolveFinalResult: (result: R) => void; rejectFinalResult: (err: unknown) => void; isComplete: (event: T) => boolean; extractResult: (event: T) => R; constructor(isComplete: (event: T) => boolean, extractResult: (event: T) => R); push(event: T): void; deliver(event: T): void; end(result?: R): void; endWaiting(): void; fail(err: unknown): void; [Symbol.asyncIterator](): AsyncIterator; result(): Promise; } export declare class AssistantMessageEventStream extends EventStream { constructor(); push(event: AssistantMessageEvent): void; end(result?: AssistantMessage): void; }