import type { TextEditorRequest } from "../../ui-core/controllers/overlay-controller.js"; import type { InkTheme } from "../render/ink-theme.js"; import { type EditorState } from "../chrome/editor-model.js"; import { type PanelFrameInput } from "./panel-frame.js"; import { type PanelKeyResult } from "./panel-effect.js"; export interface TextEditorPanelState { readonly editor: EditorState; readonly top: number; } export declare function textEditorInitialState(request?: TextEditorRequest): TextEditorPanelState; export declare function sanitizeEditorInput(text: string): string; export interface TextEditorKeyInput { readonly state: TextEditorPanelState; readonly chord: string; readonly text?: string | undefined; readonly columns: number; readonly rows: number; } export declare function textEditorKey(input: TextEditorKeyInput): PanelKeyResult; export declare function textEditorPaste(state: TextEditorPanelState, text: string, view: { columns: number; rows: number; }): TextEditorPanelState; export interface TextEditorViewInput { readonly ink: InkTheme; readonly columns: number; readonly rows: number; readonly request: TextEditorRequest; readonly state: TextEditorPanelState; readonly showCaret?: boolean | undefined; } export declare function textEditorView(input: TextEditorViewInput): PanelFrameInput;