export interface SpeechToText {
    /** Transcribe an audio buffer (PCM 16-bit, 16kHz mono recommended). */
    transcribe(audio: Buffer, options?: {
        language?: string;
    }): Promise<{
        text: string;
        confidence?: number;
    }>;
    /** Adapter capability name shown in `/api/jarvis/status`. */
    name: string;
}
export interface TextToSpeech {
    /** Render text to a WAV buffer. */
    speak(text: string, options?: {
        voice?: string;
        rate?: number;
    }): Promise<Buffer>;
    name: string;
}
export interface WakeWord {
    /** Returns true when the current audio frame contains the wake word. */
    detect(audioFrame: Buffer): Promise<boolean>;
    name: string;
}
export declare function setSpeechToText(adapter: SpeechToText): void;
export declare function setTextToSpeech(adapter: TextToSpeech): void;
export declare function setWakeWord(adapter: WakeWord): void;
export declare function getSpeechToText(): SpeechToText;
export declare function getTextToSpeech(): TextToSpeech;
export declare function getWakeWord(): WakeWord;
export interface VoiceStatus {
    stt: {
        name: string;
        ready: boolean;
    };
    tts: {
        name: string;
        ready: boolean;
    };
    wake: {
        name: string;
        ready: boolean;
    };
}
export declare function getVoiceStatus(): VoiceStatus;
//# sourceMappingURL=voice.d.ts.map