import type { TurnControl } from '../../../types/channel.js'; import type { RunContext } from '../../../types/run-context.js'; import type { StreamMode } from './mode.js'; export interface TokenSource { [Symbol.asyncIterator](): AsyncIterator<{ delta: string; }>; } export interface GateOutcome { blocked: boolean; text: string; reason?: string; control?: TurnControl; confidence?: number; } export declare function speakGated(args: { ctx: RunContext; mode: StreamMode; turnId: string; source: TokenSource; runGate: (fullOrSentence: string, final: boolean) => Promise; }): Promise<{ text: string; control?: TurnControl; confidence?: number; }>;