/** * Chord Engine * * Detects and processes multi-key chord sequences with leader key support. * * @since v1.58.1 */ import type { ChordConfig, ChordDefinition, ChordHint, ChordResult, ChordState } from './chord-types.js'; /** * Create initial chord state */ export declare function createInitialChordState(): ChordState; /** * Chord Engine for processing multi-key sequences */ export declare class ChordEngine { private chords; private state; private config; private timeoutId; private whichKeyTimeoutId; private onStateChange?; private onComplete?; constructor(config?: Partial, callbacks?: { onStateChange?: (state: ChordState) => void; onComplete?: (action: string, chord: ChordDefinition) => void; }); /** * Register a chord */ register(chord: ChordDefinition): void; /** * Register multiple chords */ registerAll(chords: ChordDefinition[]): void; /** * Unregister a chord */ unregister(id: string): boolean; /** * Clear all registered chords */ clearAll(): void; /** * Process a key press */ processKey(key: string): ChordResult; /** * Cancel the current chord */ cancel(): ChordResult; /** * Get current chord state */ getState(): ChordState; /** * Get pending chord sequence */ getPending(): string[]; /** * Check if a chord is in progress */ isActive(): boolean; /** * Update configuration */ updateConfig(config: Partial): void; /** * Get all registered chords */ getAllChords(): ChordDefinition[]; /** * Get chords by category */ getChordsByCategory(category: string): ChordDefinition[]; /** * Check for conflicts with a new chord */ hasConflict(sequence: string[]): ChordDefinition | null; /** * Get hints for the current partial sequence */ getHints(): ChordHint[]; /** * Check if a chord is available for the current tier */ private isChordAvailable; /** * Get hints for a given sequence */ private getHintsForSequence; /** * Serialize a key sequence for map lookup */ private serializeSequence; /** * Start the chord timeout */ private startTimeout; /** * Start the which-key delay */ private startWhichKeyDelay; /** * Cancel all timeouts */ private cancelTimeouts; /** * Reset state to initial */ private resetState; /** * Notify listeners of state change */ private notifyStateChange; } /** * Create a chord engine instance */ export declare function createChordEngine(config?: Partial, callbacks?: { onStateChange?: (state: ChordState) => void; onComplete?: (action: string, chord: ChordDefinition) => void; }): ChordEngine; //# sourceMappingURL=chord-engine.d.ts.map