import type { Action } from './app-action-type.js'; import type { StatuslineItem } from './components/statusline-picker.js'; export type FKeyPanelAction = 'projectPickerOpen' | 'toggleMonitor' | 'toggleAgentsMonitor' | 'toggleWorktreeMonitor' | 'togglePlanPanel' | 'toggleTodosMonitor' | 'toggleQueuePanel' | 'toggleProcessList' | 'toggleKanbanPanel' | 'toggleGoalPanel' | 'toggleSessionsPanel' | 'toggleCoordinatorMonitor' | 'toggleCronMonitor' | 'toggleConnectionsPanel' | 'statuslineOpen'; /** Host-side action keys that require work beyond a reducer dispatch. */ export type FKeyHostAction = 'openProjectPicker' | 'loadLiveSessions' | 'openStatuslinePicker'; /** A single F-key panel entry shared by the picker, help overlay, and tests. */ export interface FKeyPanelEntry { key: number; label: string; action: FKeyPanelAction; /** Shortcut label for user-facing help, including Ctrl aliases when available. */ helpKeys: string; /** Short user-facing description for the help overlay. */ helpDescription: string; /** Optional Ctrl+letter chord alias (e.g. 'f' for Ctrl+F → F2). */ ctrlAlias?: string | undefined; /** When present, this entry needs host-side work instead of (or in addition * to) a direct reducer dispatch. The caller resolves these. */ hostAction?: FKeyHostAction | undefined; } /** F-key panels and slash-command panels in display order. */ export declare const F_KEY_PANEL_ENTRIES: readonly FKeyPanelEntry[]; type FKeyDispatchAction = Extract; /** * Find the F-key panel entry matching the pressed key — either a plain * function key (1–12) or a Ctrl+letter chord alias. Returns null if no * entry matches. */ export declare function fKeyEntryFor(fn: number | undefined, ctrl: boolean | undefined, input: string): FKeyPanelEntry | null; /** * Convert a picker entry into the reducer action it can dispatch directly. * Returns null for entries that need host-side work before dispatching, such as * F1/projectPickerOpen, which must load project items before opening. */ export declare function actionForFKeyPanel(entry: FKeyPanelEntry, hiddenItems?: readonly StatuslineItem[]): FKeyDispatchAction | null; export {}; //# sourceMappingURL=f-key-panels.d.ts.map