import { FC } from 'react'; import { VoiceTranscriptTurn } from '../../voice/turnVisibility'; /** * The voice conversation, as a normal chat. * * ★ This exists because separating voice from chat took something away. The * chat panel now filters voice turns OUT, so a conversation held entirely by * voice renders the "How can I help?" empty state behind the session — the * exchange the user just had appears nowhere in a readable form. Splitting the * surfaces was right; leaving no way to READ the voice conversation was not. * * So voice has two perspectives rather than one: * - LIVE — the stage: one state, big captions, what is happening now * - CHAT — this: the whole exchange, scrollable, rendered properly * * ★ It uses `AssistantMarkdownRenderer`, the SAME renderer the typed chat uses. * That matters: the old voice overlay printed the model's text raw, which is * why `##` and `**` appeared as literal characters. Voice replies should be * plain prose now (the prompt asks for it), but if any markdown survives it * renders as formatting rather than as syntax. * * Still NOT the chat thread: these turns stay marked `voice`, so they never * appear in the typed conversation. This is a second view of the same voice * session, not a merge. */ interface Props { /** * Every spoken turn in the conversation, oldest first. * * `sessionId` is absent on turns recorded before session ids existed. They are * shown, not dropped — the user really said them — and they collapse into one * leading group rather than being scattered one divider apart. */ turns: ReadonlyArray; } export declare const VoiceConversationView: FC; export {}; //# sourceMappingURL=VoiceConversationView.d.ts.map