import { HotkeyStoreOptions, HotkeyStoreState, CommandDefinition } from './types.mjs'; declare class HotkeyStore { private state; private target?; private defaultCommandOptions; private commandOptionOverrides; private sequenceTimeoutMs; private conflictBehavior; private sequenceStates; private registrationOrder; private platform; private listeners; private firedCommands; private hasKeyupCommands; private subscribers; constructor(options?: HotkeyStoreOptions); init(options: HotkeyStoreOptions): this; destroy(): void; setScope(scope: string | string[]): this; addScope(scope: string): this; removeScope(scope: string): this; getActiveScopes(): readonly string[]; getState(): Readonly; toggleScope(scope: string): this; subscribe(selector: (state: HotkeyStoreState) => T, callback: (value: T) => void): () => void; register(commands: CommandDefinition | CommandDefinition[]): this; unregister(id: string): this; enable(id: string): this; disable(id: string): this; setEnabled(id: string, enabled: boolean | (() => boolean)): this; clear(): this; isPressed(hotkey: string): boolean; getCurrentlyPressed(): readonly string[]; getPressedCodes(): readonly string[]; private modifiersMatchPressed; private applyDefaultOptions; private updateParsedHotkeys; private refreshKeyupFlag; private detectConflicts; private getAttachedPhases; private updateListeners; private startListening; private stopListening; private getListenerPhases; private handleKeyUp; private handleBlur; private executeMatchingCommands; private handleSequence; private clearAllSequences; private resetSequence; private notifySubscribers; } declare function createHotkeyStore(options?: HotkeyStoreOptions): HotkeyStore; export { HotkeyStore, createHotkeyStore };