/** @jsxImportSource @opentui/react */ /** Renderer adapter for the pure pane-scoped selection controller. */ import { type RefObject } from "react"; import type { KeyEvent, MouseEvent, ScrollBoxRenderable } from "@opentui/core"; import type { OutputSpool } from "../../../app/events/event-buffer.js"; import type { AppServices } from "../../../ui-core/bootstrap/composition-root.js"; import { type TranscriptState } from "../../../ui-core/state/transcript-types.js"; interface TranscriptSelectionOptions { readonly services: AppServices; readonly state: TranscriptState; readonly spool: OutputSpool; readonly scrollRef: RefObject; readonly focused: boolean; } export interface TranscriptSelectionBinding { readonly onMouseDown: (event: MouseEvent) => void; readonly onMouseDrag: (event: Pick) => void; readonly onMouseUp: (event: MouseEvent) => void; readonly onMouseDragEnd: () => void; handleKey(key: KeyEvent, chord: string): boolean; } export declare function useTranscriptSelection(options: TranscriptSelectionOptions): TranscriptSelectionBinding; export {};