import type { BindingId } from './catalog.js'; import type { BindingDefinition, BindingResolution, KeybindingDiagnostic, SparseKeybindingOverrides } from './types.js'; export declare class GestureSyntaxError extends Error { constructor(message: string); } export declare function normalizeStroke(raw: string): string; /** * Split a binding expression into its gesture list. A comma separates gestures * only when it stands between two non-empty gestures; a comma with nothing on * one side is the comma KEY itself, so `,` is bindable and `, , c` reads as the * comma key plus `c`. This mirrors the sequence separator `>`, which is only a * separator when surrounded by strokes. */ export declare function splitGestureExpression(expression: string): string[]; export declare function normalizeGesture(raw: string, definition?: Pick): string; export declare function resolveKeybindings(rawOverrides?: unknown): BindingResolution; export declare function resolveUserKeybindings(): BindingResolution; export declare function normalizeSparseOverrides(rawOverrides: unknown): SparseKeybindingOverrides; export declare class KeybindingValidationError extends Error { readonly diagnostics: readonly KeybindingDiagnostic[]; constructor(diagnostics: readonly KeybindingDiagnostic[]); }