import { Container, type MouseEvent } from "@gajae-code/tui"; import type { TranscriptItemRegistry, TranscriptSourcePayload } from "../transcript-item-registry"; import { type ToolTranscriptRenderDescriptor } from "./tool-transcript-format"; export type TranscriptViewerEntry = { id: string; kind: string; label?: string; payload: TranscriptSourcePayload; copyable?: boolean; foldable?: boolean; rawViewable?: boolean; getDisplayText?: (expanded: boolean) => string; renderDescriptor?: ToolTranscriptRenderDescriptor; richRenderEligible?: boolean; }; export type TranscriptViewerOverlayOptions = { title?: string; getEntries: () => readonly TranscriptViewerEntry[]; onClose: () => void; requestRender?: () => void; copyToClipboard?: (text: string) => void; onError?: (message: string) => void; enterExpands?: boolean; initialSelection?: "first" | "latest"; followTail?: boolean; getHeaderLines?: () => readonly string[]; getFooterLines?: () => readonly string[]; maxExpandedLines?: number; footerControls?: string; getEntryText?: (entry: TranscriptViewerEntry, expanded: boolean) => string; }; export declare const __transcriptViewerPerfCounters: { enabled: boolean; layoutCacheHits: number; layoutCacheMisses: number; refreshRuns: number; rebuildRuns: number; snapshot(): { layoutCacheHits: number; layoutCacheMisses: number; refreshRuns: number; rebuildRuns: number; }; enable(): void; disable(): void; reset(): void; }; /** Message-agnostic, modal transcript browser over resolved projection entries. */ export declare class TranscriptViewerOverlay extends Container { #private; constructor(options: TranscriptViewerOverlayOptions); get selectedEntryId(): string | undefined; get isFullscreen(): boolean; refresh(identityMap?: ReadonlyMap, preserveLayoutCache?: boolean): void; invalidateLayoutEntries(entryIds: readonly string[]): void; render(width: number): string[]; handleMouse(event: MouseEvent): void; handleInput(keyData: string): void; resetSourceState(): void; } /** Main-session adapter over the registry's canonical payload resolver. */ export declare function transcriptViewerEntries(registry: TranscriptItemRegistry): TranscriptViewerEntry[];