import { KeyCode, KeyCodes } from './KeyCodes'; declare type Callback = (e: KeyboardEvent) => void; declare type KeyCodeListener = (keys: KeyCodes, code?: KeyCode) => void; export interface KeyStackEntry { shortcuts?: Record; listener?: KeyCodeListener; modal?: boolean; } export interface ShortcutEntry { modifiers: string; callback: Callback; } export interface ShortcutMap { [keyname: string]: ShortcutEntry[]; } export declare class KeysManager { private stack; private heldKeys; private setHeldKeys; private watchers; constructor(); dispose(): void; get activeKeys(): Readonly; push(entry: KeyStackEntry): () => void; watch(watcher: KeyCodeListener): () => void; private onKeyDown; private onKeyUp; private onBlur; private notifyWatchers; } export declare const KeysManagerContext: import("solid-js").Context; export declare const useKeysManager: () => KeysManager; export {};