import type { ExplorerEvent } from "./events.js"; import type { ExplorerConfig } from "./state.js"; export type ExplorerBuiltinCommand = "quit" | "filter" | "help" | "palette" | "cursorUp" | "cursorDown" | "top" | "bottom" | "pageUp" | "pageDown" | "focusNext" | "escape" | "confirm" | "halfPageUp" | "halfPageDown" | "toggleSelect" | "selectAll" | "clearSelection" | "detailScrollDown" | "detailScrollUp" | "extendSelectionUp" | "extendSelectionDown" | "reorderUp" | "reorderDown"; export type BindingTarget = { type: "builtin"; id: ExplorerBuiltinCommand; } | { type: "action"; id: string; }; type Key = Extract["key"]; export interface ResolvedBindings { bindings: ReadonlyMap; keysByTarget: ReadonlyMap; resolve: (event: Key) => BindingTarget | undefined; } export type ExplorerBindingDefaults = Partial>; export interface HelpSection { title: string; entries: Array<{ key: string; label: string; }>; } export declare function resolveBindings(config: ExplorerConfig, defaults?: ExplorerBindingDefaults): ResolvedBindings; export declare function assertNoBareLetterBindings(config: ExplorerConfig): void; export declare function assertAcceleratorsFree(config: ExplorerConfig): void; export declare function keymapToHelp(config: ExplorerConfig): HelpSection[]; export {};