/** * Multi-line editor component for extensions. * Supports Ctrl+G for external editor. */ import { Container, type EditorOptions, type Focusable, type TUI } from "@caupulican/pi-tui"; import type { KeybindingsManager } from "../../../core/keybindings.ts"; export interface ExtensionEditorOptions extends EditorOptions { /** Visible owner-only content that must not enter editor history, autocomplete, or external files. */ privateContent?: boolean; /** Muted reassurance/instruction shown immediately above the editor. */ notice?: string; /** External editors create plaintext temporary files, so private editors always disable this. */ allowExternalEditor?: boolean; /** Programmatic cancellation for tool-owned dialogs. */ signal?: AbortSignal; } export declare class ExtensionEditorComponent extends Container implements Focusable { private editor; private onSubmitCallback; private onCancelCallback; private tui; private keybindings; private readonly allowExternalEditor; private readonly signal; private readonly onAbort; private _focused; get focused(): boolean; set focused(value: boolean); constructor(tui: TUI, keybindings: KeybindingsManager, title: string, prefill: string | undefined, onSubmit: (value: string) => void, onCancel: () => void, options?: ExtensionEditorOptions); handleInput(keyData: string): void; private openExternalEditor; dispose(): void; } //# sourceMappingURL=extension-editor.d.ts.map