import { FC } from 'react'; /** * A small animated bar meter. * * ★ Deliberately NOT a real audio visualiser. Reading actual microphone * amplitude needs `getUserMedia` + an `AnalyserNode`, and this app has neither — * the Web Speech API opens its own capture that we never see. Adding a second, * parallel microphone stream purely to animate bars would double the permission * surface and the battery cost for decoration. * * What it honestly conveys is LIVENESS: the session is running and in this * state. It is `aria-hidden` because it says nothing a screen-reader user can * use — the status text and the caption carry the real meaning. * * When a real VAD stream lands (it is needed for automatic barge-in anyway), * this component gets amplitude as a prop and the animation becomes truthful. */ interface Props { /** Bars animate while true; a flat line while false. */ active: boolean; /** * Open, but waiting rather than hearing speech — the correction window. * Shorter and slower than full listening, so the pause is visible without * implying the microphone closed. */ settled?: boolean; /** `speaking` reads as the assistant's voice, `listening` as the user's. */ tone: "listening" | "speaking"; expanded?: boolean; } export declare const VoiceWaveform: FC; export {}; //# sourceMappingURL=VoiceWaveform.d.ts.map