/** Number of bars rendered in the dictation waveform strip. */ export declare const ATHENA_CHAT_DICTATION_BARS = 28; /** Result of {@link useAthenaChatDictation}. */ export interface AthenaChatDictation { /** Discards the in-progress transcript and releases the microphone. */ cancel: () => void; /** Commits the transcript through `onTranscript` and stops listening. */ confirm: () => void; isListening: boolean; /** False when the Web Speech API is unavailable, including during SSR. */ isSupported: boolean; /** Normalised 0–1 microphone levels, newest last. */ levels: number[]; start: () => void; toggle: () => void; transcript: string; } /** * Browser speech-to-text with live microphone metering. * * Entirely independent of the chat transport — it produces text and nothing * else, so it composes with any composer. The transcript is held locally while * dictating so it can be discarded or committed deliberately, rather than * streaming half-formed words into a live conversation. * * Degrades to `isSupported: false` when the Web Speech API is missing, which * includes every server render, so callers can hide the control without a * hydration mismatch. */ export declare function useAthenaChatDictation(onTranscript: (text: string) => void): AthenaChatDictation;