import type { TranscribeTranscriptData } from "../../api/types/TranscribeTranscriptData.js"; export interface DictationTranscriptSnapshot { /** Finalized text. Use this for copy, clear, and JSON export. */ committedText: string; /** * Active interim preview. Empty string when none. * Includes its leading boundary space so the UI can render it verbatim * immediately after committedText. */ interimText: string; /** @internal */ _finalizedStarts: ReadonlySet; /** @internal */ _latestFinalEnd: number; } /** * Pure function that applies a single transcript message to the previous * snapshot and returns a new snapshot with updated committed/interim text. * * - Handles the two-layer committed + interim model (DXG-844). * - Ignores late interims that overlap an already-finalized timeline (DXG-1093). * * @param previous - The last snapshot, or `undefined` on first call. * @param message - The incoming transcript packet (subset of TranscribeTranscriptData). */ export declare function applyDictationTranscript(previous: DictationTranscriptSnapshot | undefined, message: Pick): DictationTranscriptSnapshot;