import { AsyncLocalStorage } from 'node:async_hooks'; /** A stream of transcription events to surface from {@link runStt}, or `null` when none is bound. */ export type ObservationQueue = AsyncIterable | null; /** Active {@link ObservationQueue} for the current async context, set by the surrounding session. @internal */ export declare const sttObservationStore: AsyncLocalStorage; /** Drain `audioStream` and yield transcription events from the bound {@link ObservationQueue} (yields nothing if none is bound). */ export declare function runStt(audioStream: AsyncIterable): AsyncGenerator; /** A list collecting the text chunks forwarded by {@link runTts}, or `null` when none is bound. */ export type TtsHookSink = Array | null; /** Active {@link TtsHookSink} for the current async context, set by the surrounding session. @internal */ export declare const ttsHookSinkStore: AsyncLocalStorage; /** * Drain `textStream`, forwarding each non-null chunk to the bound {@link TtsHookSink} * (the stream is consumed without forwarding when none is bound). Yields nothing; * the forwarded text is spoken by the pipeline's synthesis. */ export declare function runTts(textStream: AsyncIterable): AsyncGenerator;