/** * useGlobalInput Hook * * Extracts the main useInput handler from App.tsx. * Handles all keyboard input: escape logic, Ctrl+C quit, * chord mode, command palette, tab-specific shortcuts, etc. * * @since v2.6.0 */ import type { TabId, UIState } from '../state/index.js'; export interface GlobalInputDeps { showHelp: boolean; showConfig: boolean; showCommandPalette: boolean; showDownloadSummary: boolean; showBatchMenu: boolean; showAccountView: boolean; showChordHelp: boolean; inputEnabled: boolean; quitPending: boolean; activeTabId: TabId; debugEnabled: boolean; autoUpdateState: 'idle' | 'running' | 'complete'; setShowHelp: (v: boolean) => void; setShowConfig: (v: boolean) => void; setShowCommandPalette: (v: boolean) => void; setShowDownloadSummary: (v: boolean) => void; setDownloadSummaryData: (v: null) => void; setShowBatchMenu: (v: boolean) => void; setShowAccountView: (v: boolean) => void; setShowChordHelp: (v: boolean) => void; setShowQuickActions: (v: boolean) => void; setShowSearchView: (v: boolean) => void; setQuitPending: (v: boolean) => void; setAutoUpdateState: (v: 'idle') => void; setAutoUpdateSummary: (v: null) => void; setAutoUpdateProgress: (v: null) => void; autoUpdateAbortRef: React.MutableRefObject; clearUpdates: () => void; goToTabById: (tabId: TabId) => void; clearScreen: () => void; validateInput: (input: string, key: import('ink').Key) => boolean; uiStateContext: { state: UIState; }; syncLoading: boolean; quitTimeoutRef: React.MutableRefObject | null>; exit: () => void; chordMode: { enabled: boolean; isActive: boolean; isLeader: (input: string) => boolean; processKey: (input: string) => { type: string; action?: string; }; cancel: () => void; }; handleChordAction: (action: string) => void; keyboardFeatures: { recordNavigation: (view: string, index: number, label: string) => void; jumpBack: () => { view: string; label: string; } | null; jumpForward: () => { view: string; label: string; } | null; announce: (msg: string) => void; }; throttledScanServers: () => void; throttledCheckUpdates: () => void; throttledLoadLogs: () => void; healthPluginScores: Array<{ pluginName: string; grade: string; overall: number; issues: Array<{ severity: string; title: string; }>; components: { version: { status: string; }; compatibility: { status: string; }; maintenance: { status: string; }; security: { status: string; }; }; }>; healthSelectedIndex: number; setHealthSelectedIndex: (v: number | ((prev: number) => number)) => void; setResultDialog: (v: { title: string; content: string | string[]; subtitle?: string; } | null) => void; selectAll: () => void; deselectAll: () => void; reloadStats: () => void; refreshHealth: () => Promise; selectAllPlugins: () => void; deselectAllPlugins: () => void; tier: import('../../core/types/auth.js').Tier | null | undefined; handleExportManual: () => void; handleCancelWorkflow: () => void; info: (msg: string) => void; } export declare function useGlobalInput(deps: GlobalInputDeps): void; //# sourceMappingURL=useGlobalInput.d.ts.map