/** * Editor/global key-handler wiring extracted from interactive-mode. * * `setupKeyHandlers` installs the escape/action/ctrl-D/change/paste/recall * callbacks on the default editor (and the global debug handler on the TUI), * each delegating to a host method or toggling the bash-mode/last-escape state. * It runs once at init through a wide `KeyHandlersHost` seam; interactive-mode * keeps a thin wrapper. */ import type { EditorComponent, TUI } from "@caupulican/pi-tui"; import type { AgentSession } from "../../core/agent-session.ts"; import type { SettingsManager } from "../../core/settings-manager.ts"; import type { CustomEditor } from "./components/custom-editor.ts"; export interface KeyHandlersHost { readonly defaultEditor: CustomEditor; readonly editor: EditorComponent; readonly ui: TUI; readonly session: Pick; readonly settingsManager: Pick; isBashMode: boolean; lastEscapeTime: number; restoreQueuedMessagesToEditor(options?: { abort?: boolean; currentText?: string; }): number; updateEditorBorderColor(): void; showTreeSelector(initialSelectedId?: string): void; showUserMessageSelector(newSessionName?: string): void; handleCtrlC(): void; handleCtrlD(): void; handleCtrlZ(): void; cycleThinkingLevel(): void; cycleModel(direction: "forward" | "backward"): Promise; handleDebugCommand(): void; showModelSelector(initialSearchInput?: string): Promise; loadTuiHistoryOnDemand(): void; toggleToolOutputExpansion(): void; showTranscriptPager(): void; toggleAgentsOverlay(): void; toggleThinkingBlockVisibility(): Promise; openExternalEditor(): Promise; handleFollowUp(): Promise; handleDequeue(): void; handleClearCommand(newSessionName?: string): Promise; showSessionSelector(): void; handleClipboardImagePaste(): Promise; } export declare function setupKeyHandlers(host: KeyHandlersHost): void; //# sourceMappingURL=key-handlers.d.ts.map