/** App-level bindings wired by xopc TUI (subset of pi coding-agent). */ export type XopcTuiAppKeybinding = 'app.interrupt' | 'app.clear' | 'app.exit' | 'app.suspend' | 'app.thinking.cycle' | 'app.model.cycleForward' | 'app.model.cycleBackward' | 'app.model.select' | 'app.tools.expand' | 'app.thinking.toggle' | 'app.session.resume' | 'app.session.tree' | 'app.session.fork' | 'app.session.togglePath' | 'app.session.toggleSort' | 'app.session.toggleNamedFilter' | 'app.session.rename' | 'app.session.delete' | 'app.session.deleteNoninvasive' | 'app.tree.foldOrUp' | 'app.tree.unfoldOrDown' | 'app.tree.filter.default' | 'app.tree.filter.noTools' | 'app.tree.filter.userOnly' | 'app.tree.filter.labeledOnly' | 'app.tree.filter.all' | 'app.tree.filter.cycleForward' | 'app.tree.filter.cycleBackward' | 'app.tree.editLabel' | 'app.tree.toggleLabelTimestamp' | 'app.editor.external' | 'app.clipboard.pasteImage' | 'app.message.followUp' | 'app.models.save' | 'app.models.enableAll' | 'app.models.clearAll' | 'app.models.toggleProvider' | 'app.models.reorderUp' | 'app.models.reorderDown'; declare module '@earendil-works/pi-tui' { interface Keybindings { 'app.interrupt': true; 'app.clear': true; 'app.exit': true; 'app.suspend': true; 'app.thinking.cycle': true; 'app.model.cycleForward': true; 'app.model.cycleBackward': true; 'app.model.select': true; 'app.tools.expand': true; 'app.thinking.toggle': true; 'app.session.resume': true; 'app.session.tree': true; 'app.session.fork': true; 'app.session.togglePath': true; 'app.session.toggleSort': true; 'app.session.toggleNamedFilter': true; 'app.session.rename': true; 'app.session.delete': true; 'app.session.deleteNoninvasive': true; 'app.tree.foldOrUp': true; 'app.tree.unfoldOrDown': true; 'app.tree.filter.default': true; 'app.tree.filter.noTools': true; 'app.tree.filter.userOnly': true; 'app.tree.filter.labeledOnly': true; 'app.tree.filter.all': true; 'app.tree.filter.cycleForward': true; 'app.tree.filter.cycleBackward': true; 'app.tree.editLabel': true; 'app.tree.toggleLabelTimestamp': true; 'app.editor.external': true; 'app.clipboard.pasteImage': true; 'app.message.followUp': true; 'app.models.save': true; 'app.models.enableAll': true; 'app.models.clearAll': true; 'app.models.toggleProvider': true; 'app.models.reorderUp': true; 'app.models.reorderDown': true; } } export declare const XOPC_TUI_KEYBINDINGS: { readonly 'app.interrupt': { readonly defaultKeys: "escape"; readonly description: "Abort run (or cancel overlay)"; }; readonly 'app.clear': { readonly defaultKeys: "ctrl+c"; readonly description: "Clear input; repeat within 0.5s to exit"; }; readonly 'app.exit': { readonly defaultKeys: "ctrl+d"; readonly description: "Exit when input empty"; }; readonly 'app.suspend': { readonly defaultKeys: any[] | "ctrl+z"; readonly description: "Suspend to shell (SIGTSTP)"; }; readonly 'app.thinking.cycle': { readonly defaultKeys: "shift+tab"; readonly description: "Cycle /think level"; }; readonly 'app.model.cycleForward': { readonly defaultKeys: "ctrl+p"; readonly description: "Next model (/switch)"; }; readonly 'app.model.cycleBackward': { readonly defaultKeys: "shift+ctrl+p"; readonly description: "Previous model (/switch)"; }; readonly 'app.model.select': { readonly defaultKeys: "ctrl+l"; readonly description: "Model picker"; }; readonly 'app.tools.expand': { readonly defaultKeys: "ctrl+o"; readonly description: "Toggle tool output"; }; readonly 'app.thinking.toggle': { readonly defaultKeys: "ctrl+t"; readonly description: "Toggle thinking block display"; }; readonly 'app.session.resume': { readonly defaultKeys: "ctrl+shift+p"; readonly description: "Session picker"; }; readonly 'app.session.tree': { readonly defaultKeys: []; readonly description: "Show session tree"; }; readonly 'app.session.fork': { readonly defaultKeys: []; readonly description: "Fork current session"; }; readonly 'app.session.togglePath': { readonly defaultKeys: "ctrl+p"; readonly description: "Toggle session key display"; }; readonly 'app.session.toggleSort': { readonly defaultKeys: "ctrl+s"; readonly description: "Toggle session sort mode"; }; readonly 'app.session.toggleNamedFilter': { readonly defaultKeys: "ctrl+n"; readonly description: "Toggle named session filter"; }; readonly 'app.session.rename': { readonly defaultKeys: "ctrl+r"; readonly description: "Rename selected session"; }; readonly 'app.session.delete': { readonly defaultKeys: "ctrl+d"; readonly description: "Delete selected session"; }; readonly 'app.session.deleteNoninvasive': { readonly defaultKeys: "ctrl+backspace"; readonly description: "Delete session when query is empty"; }; readonly 'app.tree.foldOrUp': { readonly defaultKeys: ["ctrl+left", "alt+left"]; readonly description: "Fold tree branch or move up"; }; readonly 'app.tree.unfoldOrDown': { readonly defaultKeys: ["ctrl+right", "alt+right"]; readonly description: "Unfold tree branch or move down"; }; readonly 'app.tree.filter.default': { readonly defaultKeys: "ctrl+d"; readonly description: "Tree filter: default view"; }; readonly 'app.tree.filter.noTools': { readonly defaultKeys: "ctrl+t"; readonly description: "Tree filter: hide tool results"; }; readonly 'app.tree.filter.userOnly': { readonly defaultKeys: "ctrl+u"; readonly description: "Tree filter: user messages only"; }; readonly 'app.tree.filter.labeledOnly': { readonly defaultKeys: "ctrl+l"; readonly description: "Tree filter: labeled entries only"; }; readonly 'app.tree.filter.all': { readonly defaultKeys: "ctrl+a"; readonly description: "Tree filter: show all entries"; }; readonly 'app.tree.filter.cycleForward': { readonly defaultKeys: "ctrl+o"; readonly description: "Tree filter: cycle forward"; }; readonly 'app.tree.filter.cycleBackward': { readonly defaultKeys: "shift+ctrl+o"; readonly description: "Tree filter: cycle backward"; }; readonly 'app.tree.editLabel': { readonly defaultKeys: "shift+l"; readonly description: "Edit tree label"; }; readonly 'app.tree.toggleLabelTimestamp': { readonly defaultKeys: "shift+t"; readonly description: "Toggle tree label timestamps"; }; readonly 'app.editor.external': { readonly defaultKeys: "ctrl+g"; readonly description: "Edit input in $EDITOR"; }; readonly 'app.clipboard.pasteImage': { readonly defaultKeys: "alt+v" | "ctrl+v"; readonly description: "Paste image from clipboard"; }; readonly 'app.message.followUp': { readonly defaultKeys: "alt+enter"; readonly description: "Queue message while busy (or submit when idle)"; }; readonly 'app.models.save': { readonly defaultKeys: "ctrl+s"; readonly description: "Save scoped model selection"; }; readonly 'app.models.enableAll': { readonly defaultKeys: "ctrl+a"; readonly description: "Enable all scoped models"; }; readonly 'app.models.clearAll': { readonly defaultKeys: "ctrl+x"; readonly description: "Clear scoped models"; }; readonly 'app.models.toggleProvider': { readonly defaultKeys: "ctrl+p"; readonly description: "Toggle selected provider models"; }; readonly 'app.models.reorderUp': { readonly defaultKeys: "alt+up"; readonly description: "Move scoped model up"; }; readonly 'app.models.reorderDown': { readonly defaultKeys: "alt+down"; readonly description: "Move scoped model down"; }; readonly "tui.editor.cursorUp": { readonly defaultKeys: "up"; readonly description: "Move cursor up"; }; readonly "tui.editor.cursorDown": { readonly defaultKeys: "down"; readonly description: "Move cursor down"; }; readonly "tui.editor.historyPrevious": { readonly defaultKeys: []; readonly description: "Select previous prompt history entry"; }; readonly "tui.editor.historyNext": { readonly defaultKeys: []; readonly description: "Select next prompt history entry"; }; readonly "tui.editor.cursorLeft": { readonly defaultKeys: ["left", "ctrl+b"]; readonly description: "Move cursor left"; }; readonly "tui.editor.cursorRight": { readonly defaultKeys: ["right", "ctrl+f"]; readonly description: "Move cursor right"; }; readonly "tui.editor.cursorWordLeft": { readonly defaultKeys: ["alt+left", "ctrl+left", "alt+b"]; readonly description: "Move cursor word left"; }; readonly "tui.editor.cursorWordRight": { readonly defaultKeys: ["alt+right", "ctrl+right", "alt+f"]; readonly description: "Move cursor word right"; }; readonly "tui.editor.cursorLineStart": { readonly defaultKeys: ["home", "ctrl+home", "ctrl+a"]; readonly description: "Move to line start"; }; readonly "tui.editor.cursorLineEnd": { readonly defaultKeys: ["end", "ctrl+end", "ctrl+e"]; readonly description: "Move to line end"; }; readonly "tui.editor.jumpForward": { readonly defaultKeys: "ctrl+]"; readonly description: "Jump forward to character"; }; readonly "tui.editor.jumpBackward": { readonly defaultKeys: "ctrl+alt+]"; readonly description: "Jump backward to character"; }; readonly "tui.editor.pageUp": { readonly defaultKeys: ["pageUp", "ctrl+pageUp"]; readonly description: "Page up"; }; readonly "tui.editor.pageDown": { readonly defaultKeys: ["pageDown", "ctrl+pageDown"]; readonly description: "Page down"; }; readonly "tui.editor.deleteCharBackward": { readonly defaultKeys: "backspace"; readonly description: "Delete character backward"; }; readonly "tui.editor.deleteCharForward": { readonly defaultKeys: ["delete", "ctrl+d"]; readonly description: "Delete character forward"; }; readonly "tui.editor.deleteWordBackward": { readonly defaultKeys: ["ctrl+w", "alt+backspace"]; readonly description: "Delete word backward"; }; readonly "tui.editor.deleteWordForward": { readonly defaultKeys: ["alt+d", "alt+delete"]; readonly description: "Delete word forward"; }; readonly "tui.editor.deleteToLineStart": { readonly defaultKeys: "ctrl+u"; readonly description: "Delete to line start"; }; readonly "tui.editor.deleteToLineEnd": { readonly defaultKeys: "ctrl+k"; readonly description: "Delete to line end"; }; readonly "tui.editor.yank": { readonly defaultKeys: "ctrl+y"; readonly description: "Yank"; }; readonly "tui.editor.yankPop": { readonly defaultKeys: "alt+y"; readonly description: "Yank pop"; }; readonly "tui.editor.undo": { readonly defaultKeys: "ctrl+-"; readonly description: "Undo"; }; readonly "tui.input.newLine": { readonly defaultKeys: ["shift+enter", "ctrl+j"]; readonly description: "Insert newline"; }; readonly "tui.input.submit": { readonly defaultKeys: "enter"; readonly description: "Submit input"; }; readonly "tui.input.tab": { readonly defaultKeys: "tab"; readonly description: "Tab / autocomplete"; }; readonly "tui.input.copy": { readonly defaultKeys: "ctrl+c"; readonly description: "Copy selection"; }; readonly "tui.select.up": { readonly defaultKeys: "up"; readonly description: "Move selection up"; }; readonly "tui.select.down": { readonly defaultKeys: "down"; readonly description: "Move selection down"; }; readonly "tui.select.pageUp": { readonly defaultKeys: "pageUp"; readonly description: "Selection page up"; }; readonly "tui.select.pageDown": { readonly defaultKeys: "pageDown"; readonly description: "Selection page down"; }; readonly "tui.select.confirm": { readonly defaultKeys: "enter"; readonly description: "Confirm selection"; }; readonly "tui.select.cancel": { readonly defaultKeys: ["escape", "ctrl+c"]; readonly description: "Cancel selection"; }; readonly "tui.altScreen.pageUp": { readonly defaultKeys: "pageUp"; readonly description: "Scroll viewport up one page"; }; readonly "tui.altScreen.pageDown": { readonly defaultKeys: "pageDown"; readonly description: "Scroll viewport down one page"; }; readonly "tui.altScreen.halfPageUp": { readonly defaultKeys: []; readonly description: "Scroll viewport up half a page"; }; readonly "tui.altScreen.halfPageDown": { readonly defaultKeys: []; readonly description: "Scroll viewport down half a page"; }; readonly "tui.altScreen.lineUp": { readonly defaultKeys: []; readonly description: "Scroll viewport up one line"; }; readonly "tui.altScreen.lineDown": { readonly defaultKeys: []; readonly description: "Scroll viewport down one line"; }; readonly "tui.altScreen.previousPrompt": { readonly defaultKeys: "ctrl+shift+up"; readonly description: "Jump to previous semantic prompt"; }; readonly "tui.altScreen.nextPrompt": { readonly defaultKeys: "ctrl+shift+down"; readonly description: "Jump to next semantic prompt"; }; readonly "tui.altScreen.search": { readonly defaultKeys: "ctrl+shift+f"; readonly description: "Search the primary scroll view"; }; readonly "tui.altScreen.searchNext": { readonly defaultKeys: ["enter", "ctrl+g"]; readonly description: "Select the next search match"; }; readonly "tui.altScreen.searchPrevious": { readonly defaultKeys: ["shift+enter", "ctrl+shift+g"]; readonly description: "Select the previous search match"; }; readonly "tui.altScreen.searchClose": { readonly defaultKeys: "escape"; readonly description: "Close transcript search"; }; readonly "tui.altScreen.top": { readonly defaultKeys: "home"; readonly description: "Scroll viewport to top"; }; readonly "tui.altScreen.bottom": { readonly defaultKeys: "end"; readonly description: "Scroll viewport to bottom"; }; }; /** Order for `/hotkeys` and docs (pi-style UX). */ export declare const XOPC_TUI_HOTKEY_ORDER: XopcTuiAppKeybinding[];