import { MaybeBrowserKeyComboEventProps, MaybeBrowserKeyEventProps } from './browser-bindings'; import { Handler, KeyEvent } from './handler-state'; import { KeyComboEvent } from './key-combo-state'; export declare const defaultSequenceTimeout = 1000; export type OnActiveEventBinder = (handler: () => void) => (() => void) | void; export type OnKeyEventBinder = (handler: (event: KeyEvent) => void) => (() => void) | void; export type KeyComboEventMapper = (activeKeyPresses: KeyPress[][], finalKeyPress: KeyPress) => KeyComboEvent; export type KeyPress = { key: string; aliases: Set; event: KeyEvent; }; export type KeystrokesOptions, KeyComboEventProps = MaybeBrowserKeyComboEventProps> = BindEnvironmentOptions; export type BindEnvironmentOptions, KeyComboEventProps = MaybeBrowserKeyComboEventProps> = { onActive?: OnActiveEventBinder; onInactive?: OnActiveEventBinder; onKeyPressed?: OnKeyEventBinder; onKeyReleased?: OnKeyEventBinder; mapKeyComboEvent?: KeyComboEventMapper; selfReleasingKeys?: string[]; keyRemap?: Record; }; export declare class Keystrokes, KeyComboEventProps = MaybeBrowserKeyComboEventProps> { sequenceTimeout: number; private _isActive; private _unbinder; private _onActiveBinder; private _onInactiveBinder; private _onKeyPressedBinder; private _onKeyReleasedBinder; private _keyComboEventMapper; private _selfReleasingKeys; private _keyRemap; private _handlerStates; private _keyComboStates; private _keyComboStatesArray; private _activeKeyPresses; private _activeKeyMap; private _watchedKeyComboStates; constructor(options?: KeystrokesOptions); get pressedKeys(): string[]; bindKey(key: string | string[], handler: Handler>): void; unbindKey(key: string | string[], handler?: Handler>): void; bindKeyCombo(keyCombo: string | string[], handler: Handler>): void; unbindKeyCombo(keyCombo: string | string[], handler?: Handler>): void; checkKey(key: string): boolean; checkKeyCombo(keyCombo: string): boolean; checkKeyComboSequenceIndex(keyCombo: string): number; bindEnvironment(options?: BindEnvironmentOptions): void; unbindEnvironment(): void; private _ensureCachedKeyComboState; private _handleKeyPress; private _handleKeyRelease; private _updateKeyComboStates; private _tryReleaseSelfReleasingKeys; }