/** * Keybinding Service * * Manages keybinding configuration, conflict detection, and resolution. * * @since v1.58.3 */ import type { ActionCategory, ActionDefinition, KeybindingConfig, KeybindingConflict, KeybindingContext, KeybindingExportFormat, PresetName, ResolvedKeybinding } from './keybinding-types.js'; /** * Keybinding Service */ export declare class KeybindingService { private config; private resolvedBindings; private keyToAction; constructor(config?: Partial); /** * Resolve all bindings from preset + custom */ private resolveBindings; /** * Get action for a key in a context */ getActionForKey(key: string | string[], context: KeybindingContext): string | null; /** * Get all keys for an action */ getKeysForAction(action: string): string[][]; /** * Get all resolved bindings */ getAllBindings(): ResolvedKeybinding[]; /** * Get bindings by context */ getBindingsByContext(context: KeybindingContext): ResolvedKeybinding[]; /** * Get bindings by category */ getBindingsByCategory(category: ActionCategory): ResolvedKeybinding[]; /** * Set a custom binding */ setBinding(action: string, keys: string | string[], context: KeybindingContext): KeybindingConflict[]; /** * Remove a custom binding (revert to default) */ resetBinding(action: string, context: KeybindingContext): void; /** * Disable an action */ disableAction(action: string): void; /** * Enable a previously disabled action */ enableAction(action: string): void; /** * Detect keybinding conflicts */ detectConflicts(keys: string[], context: KeybindingContext, excludeAction?: string): KeybindingConflict[]; /** * Get all conflicts in the current configuration */ getAllConflicts(): KeybindingConflict[]; /** * Change the active preset */ setPreset(preset: PresetName): void; /** * Reset all custom bindings */ resetAllBindings(): void; /** * Export configuration */ export(): KeybindingExportFormat; /** * Import configuration */ import(data: KeybindingExportFormat): { success: boolean; errors: string[]; }; /** * Get configuration */ getConfig(): KeybindingConfig; /** * Update configuration */ updateConfig(config: Partial): void; /** * Get action definition */ getActionDefinition(action: string): ActionDefinition | undefined; /** * Get all action definitions */ getAllActionDefinitions(): ActionDefinition[]; /** * Get action definitions by category */ getActionDefinitionsByCategory(category: ActionCategory): ActionDefinition[]; /** * Check tier access */ private isTierAllowed; /** * Set leader key */ setLeader(key: string): void; /** * Set chord timeout */ setTimeout(ms: number): void; } /** * Create a keybinding service instance */ export declare function createKeybindingService(config?: Partial): KeybindingService; //# sourceMappingURL=keybinding-service.d.ts.map