/** * Pure transcript reducer (V2-050). Folds one `AnyAppEvent` into normalized * transcript state. Streaming deltas keep one open pending item per kind; * `assistant-message` / `thinking-block` finalize it. A real `tool-call` * discards any unfinalized assistant stream (raw tool-fence text). Event * order is preserved exactly as the model and tool runner emitted it. */ import type { AnyAppEvent } from "../../app/events/app-event.js"; import type { TranscriptState } from "./transcript-types.js"; export declare class TranscriptSequenceError extends Error { readonly expected: number; readonly received: number; constructor(expected: number, received: number); } export declare function applyAppEvent(state: TranscriptState, event: AnyAppEvent): TranscriptState;