import type { Binding, BindingOptions, DevtoolsHook, HeldKeysListener, HotkeysOptions, KeyHoldListener, LayerChangeListener, Shortcut, ShortcutHandler, ShortcutSequence } from "./types"; export declare class Hotkeys { /** Optional devtools hook. Set by devtools to receive structured events. */ __devtools?: DevtoolsHook; private states; private scope; private target; private listening; private sequenceTimeout; private _heldKeys; private _heldKeysListeners; private _keyHolds; private _layers; private _layerListeners; private _deferred; private _deferTimer; private _onKeyDown; private _onKeyUp; private _onReset; private _onContextMenu; constructor(options?: HotkeysOptions); start(): void; stop(): void; destroy(): void; getScope(): string; setScope(scope: string): void; getLayers(): ReadonlyArray; pushLayer(name: string): void; popLayer(): string | undefined; popLayer(name: string): boolean; onLayerChange(listener: LayerChangeListener): () => void; private _emitLayerChange; getHeldKeys(): ReadonlyArray; onHeldKeysChange(listener: HeldKeysListener): () => void; onKeyHold(key: string, listener: KeyHoldListener): () => void; private _emitHeldKeys; private _resetHeldKeys; getBindings(): ReadonlyArray; add(shortcut: string | Shortcut | ShortcutSequence, handler: ShortcutHandler, options?: BindingOptions): () => void; addMany(map: Record, options?: BindingOptions): () => void; remove(shortcut: string | Shortcut | ShortcutSequence, options?: { crossPlatform?: boolean; }): void; removeAll(): void; private _handleKeyDown; private _resolveDeferredBindings; private _matchBindings; private _resolveCompletedBindings; private _resetLowerLayerSequences; private _flushDeferred; private _cancelDeferred; private _handleKeyUp; private _trackKeyDown; private _reconcileModifiers; private _resetBindingState; } /** * Create a new {@link Hotkeys} instance. * * ```ts * const hk = createHotkeys(); * hk.add("ctrl+k", () => console.log("command palette")); * hk.add("ctrl+k ctrl+c", () => console.log("comment block")); * ``` */ export declare function createHotkeys(options?: HotkeysOptions): Hotkeys; //# sourceMappingURL=hotkeys.d.ts.map