import { ref, shallowRef, readonly } from 'vue'; import { WebSpeechSTTOptions } from '../providers/WebSpeechSTTProvider.js'; import { SpeechError } from '../providers/types.js'; export interface UseSpeechRecognitionOptions extends WebSpeechSTTOptions { } export interface UseSpeechRecognitionReturn { /** Whether SpeechRecognition is available in this environment */ readonly isSupported: ReturnType>>>; /** Whether recognition is currently active */ readonly isListening: ReturnType>>>; /** Live interim transcript (updates continuously while listening) */ readonly transcript: ReturnType>>>; /** Most recent committed final transcript */ readonly finalTranscript: ReturnType>>>; /** Confidence score of the last final result (0–1) */ readonly confidence: ReturnType>>>; /** Active language code (BCP-47) */ readonly lang: string; /** Whether continuous recognition is enabled */ readonly continuous: boolean; /** Most recent error */ readonly error: ReturnType>>>; /** Start listening */ start(): void; /** Stop listening */ stop(): void; /** Clear the transcript state */ resetTranscript(): void; } /** * Wraps the Web Speech Recognition API. * * I-4.3: This composable always creates its own `WebSpeechSTTProvider`. * It intentionally does NOT use the injected TTS provider from SPEECH_PROVIDER_KEY. */ export declare function useSpeechRecognition(options?: UseSpeechRecognitionOptions): UseSpeechRecognitionReturn;