import type { AnyAppEvent } from "../../app/events/app-event.js"; import type { TranscriptItem as ClassicTranscriptItem } from "../../app/ports/transcript-item.js"; import { type TranscriptState } from "./transcript-types.js"; export type TranscriptListener = () => void; export declare class TranscriptStore { private readonly maxItems; private readonly coalesceMs; private state; private readonly listeners; private notifyTimer; private notifyPending; private persistBase; private persistHydratedIds; private pendingEvents; private static readonly COALESCED_EVENT_TYPES; private static readonly MAX_PENDING_EVENTS; constructor(maxItems?: number, coalesceMs?: number); getState(): TranscriptState; dispatch(event: AnyAppEvent): void; toggleThinkingGlobal(): void; toggleThinkingItem(id: string, fallback: boolean): void; focusThinking(id: string): void; blurThinking(): void; toggleOutputGlobal(): void; setOutputGlobal(expanded: boolean): void; setFileDiffsGlobal(expanded: boolean): void; toggleFileDiffsGlobal(): void; toggleFileDiffOverride(toolItemId: string, fallback: boolean): void; toggleItemOverride(id: string, fallback: boolean): void; subscribe(listener: TranscriptListener): () => void; reset(): void; hydrate(next: TranscriptState, options?: { readonly rebaseSequence?: boolean; readonly persistBase?: readonly ClassicTranscriptItem[] | undefined; } | undefined): void; mergePersistSnapshot(items: ClassicTranscriptItem[]): ClassicTranscriptItem[]; private setState; private flushPendingEvents; private applyState; private scheduleNotify; private flushNotify; private clearPendingEvents; }