/** @jsxImportSource @opentui/react */ /** * Dispatches one normalized item to its renderer (V2-051..055). * * The only place that switches on `item.kind`; adding an item kind means * adding one case here plus its renderer, not touching a scattered UI switch * (ARCHITECTURE "commands are data plus handlers, not switch statements"). */ import { type ReactNode } from "react"; import type { OutputSpool } from "../../../app/events/event-buffer.js"; import type { AppServices } from "../../../ui-core/bootstrap/composition-root.js"; import type { TranscriptStore } from "../../../ui-core/state/transcript-store.js"; import { type TranscriptItem } from "../../../ui-core/state/transcript-types.js"; import type { Theme } from "../../../ui-core/rendering/theme.js"; export declare function TranscriptRowImpl(props: { item: TranscriptItem; theme: Theme; store: TranscriptStore; spool: OutputSpool; services: AppServices; onOpenUserPrompt: (prompt: string) => void; /** Effective expand state for this item (per-item override or global). */ expanded: boolean; /** Effective file-diff expand state (tool cards only). */ fileDiffExpanded: boolean; /** Global toggle fallbacks used when a per-item override is set. */ expandThinkingGlobal: boolean; expandOutputGlobal: boolean; expandFileDiffsGlobal: boolean; /** Chat-pane columns so markdown tables reflow beside the plan pane. */ contentWidth?: number | undefined; /** This item contains at least one match for the current ^R query. */ searchMatched?: boolean | undefined; /** This item is the currently selected n/N match. */ searchActiveMatch?: boolean | undefined; }): ReactNode; export declare const TranscriptRow: import("react").MemoExoticComponent;