import type { Action, State } from './app-reducer.js'; import { type KeyEvent } from './components/input.js'; import type { MutableCell } from './shared-types.js'; export interface InputKeyRouterHost { readonly state: Pick; readonly draft: { readonly buffer: string; readonly cursor: number; }; readonly overlayOpen: boolean; readonly prompt: string; readonly terminalColumns: number; readonly terminalRows: number; readonly nextSteps: { readonly timer: MutableCell | undefined>; readonly suggestion: MutableCell; readonly label: string | null; setCountdown(value: number | null): void; setLabel(value: string | null): void; cancel(): void; }; dispatch(action: Action): void; setDraft(buffer: string, cursor: number): void; pasteClipboardText(): Promise; pasteClipboardImage(): Promise; commitPaste(input: string): Promise; } /** * Route keys owned by the editable composer after modal/picker/mouse routing. * Returns true when the event was consumed. Keeping this controller independent * from the App shell makes cursor, history, clipboard, and paste behavior * testable without mounting every overlay controller. */ export declare function routeInputKey(host: InputKeyRouterHost, input: string, key: KeyEvent): Promise; //# sourceMappingURL=input-key-router.d.ts.map