import type { KeyId } from "../../config/keybindings"; import type { SessionMessageEntry } from "../../session/session-manager"; import type { SessionObserverRegistry } from "../session-observer-registry"; import { type TranscriptViewerEntry, TranscriptViewerOverlay } from "./transcript-viewer-overlay"; export declare const __sessionObserverProjectionCounters: { enabled: boolean; projectionFullRuns: number; projectionIncrementalRuns: number; sourceMessagesProjected: number; projectedEntriesAppended: number; resultPatchCount: number; snapshot(): { projectionFullRuns: number; projectionIncrementalRuns: number; sourceMessagesProjected: number; projectedEntriesAppended: number; resultPatchCount: number; }; enable(): void; disable(): void; reset(): void; }; /** Session-observer adapter. The shared viewer owns navigation and fold state. */ export declare class SessionObserverOverlayComponent extends TranscriptViewerOverlay { #private; constructor(registry: SessionObserverRegistry, onDone: () => void, observeKeys: KeyId[]); refreshFromRegistry(): void; handleInput(keyData: string): void; } /** * This deliberately remains the eager full-history projection. PR2 owns projection * virtualization/incrementalization; source acquisition above only controls snapshot safety. */ export declare function entriesFromMessages(entries: readonly SessionMessageEntry[]): TranscriptViewerEntry[];