import type { VoiceControllerRuntime } from "./start.ts"; import type { CodexVoiceMode } from "../ui.ts"; import type { ControllerHandoff } from "./handoff.ts"; /** Owns observable controller presentation: mute subscriptions, level hint and active prompts. */ export declare class ControllerState { private readonly runtime; private readonly handoff; private readonly inputMuteListeners; private readonly activePrompts; constructor(runtime: VoiceControllerRuntime, handoff: ControllerHandoff); notifyMute(muted: boolean): void; get activePrompt(): string | undefined; resetPrompts(): void; setPrompt(report: { id: string; active: boolean; prompt: string; }): void; get status(): string; get active(): boolean; get activeMode(): CodexVoiceMode | undefined; get inputMuted(): boolean; onInputMuteChange(listener: (muted: boolean) => void): () => void; setInputMuted(muted: boolean): boolean; setInputTooQuiet(inputTooQuiet: boolean): void; renderStatus(status: string): void; renderCurrentStatus(): void; }