/** * useChordMode Hook * * React hook for integrating chord keybindings into components. * * @since v1.58.1 */ import type { Tier } from '../../core/types/auth.js'; import type { ChordConfig, ChordDefinition, ChordHint, ChordResult, ChordState } from '../keyboard/chord-types.js'; /** * Hook configuration */ export interface UseChordModeConfig { /** Enable chord mode */ enabled?: boolean; /** User's tier for feature gating */ userTier?: Tier; /** Chord configuration overrides */ config?: Partial; /** Custom chords to add */ customChords?: ChordDefinition[]; /** Replace default chords entirely */ replaceDefaults?: boolean; /** Callback when a chord completes */ onChordComplete?: (action: string, chord: ChordDefinition) => void; /** Callback when chord state changes */ onStateChange?: (state: ChordState) => void; } /** * Hook return type */ export interface UseChordModeReturn { /** Current chord state */ state: ChordState; /** Whether chord mode is enabled */ enabled: boolean; /** Whether a chord is active */ isActive: boolean; /** Whether the which-key popup should show */ showWhichKey: boolean; /** Current hints */ hints: ChordHint[]; /** Pending keys in the current chord */ pending: string[]; /** Process a key event */ processKey: (key: string) => ChordResult; /** Cancel the current chord */ cancel: () => void; /** Check if a key is the leader */ isLeader: (key: string) => boolean; /** Register a custom chord */ registerChord: (chord: ChordDefinition) => void; /** Unregister a chord */ unregisterChord: (id: string) => boolean; /** Get all registered chords */ getChords: () => ChordDefinition[]; /** Get chords by category */ getChordsByCategory: (category: string) => ChordDefinition[]; /** Toggle chord mode */ toggle: () => boolean; /** Enable chord mode */ enable: () => void; /** Disable chord mode */ disable: () => void; } /** * useChordMode hook */ export declare function useChordMode(config?: UseChordModeConfig): UseChordModeReturn; //# sourceMappingURL=useChordMode.d.ts.map