import React from 'react'; import type { RenderedMessage } from '../hooks/useTranscript.js'; import type { SelectionRange } from '../hooks/useMouseHandler.js'; export interface TranscriptHandle { scrollUp: (page?: boolean) => void; scrollDown: (page?: boolean) => void; /** Scroll by a signed line count in ONE state update (delta>0 = up into history, <0 = toward bottom). */ scrollByLines: (delta: number) => void; scrollToEnd: () => void; /** Extract the text under the given screen-coordinate selection range. */ getSelectedText: (range: SelectionRange) => string; } interface TranscriptProps { messages: Map; ids: string[]; /** Rows reserved for the bottom UI (default 5). App.tsx computes the actual value. */ reservedRows?: number; /** Active text selection range (screen coordinates, from useMouseHandler). */ selection?: SelectionRange | null; } export declare const Transcript: React.ForwardRefExoticComponent>; export {};