import { EventEmitter } from 'events' /** * Native module for hooking keyboard and mouse events */ declare class IOHook extends EventEmitter { /** * Start hooking engine. Call it when you ready to receive events * @param {boolean} enableLogger If true, module will publish debug information to stdout */ start(enableLogger: boolean): void /** * Stop rising keyboard/mouse events */ stop(): void /** * Manual native code load. Call this function only if unload called before */ load(): void /** * Unload native code and free memory and system hooks */ unload(): void /** * Enable/Disable stdout debug * @param {boolean} mode */ setDebug(mode: boolean): void /** * Specify that key event's `rawcode` property should be used instead of * `keycode` when listening for key presses. * * This allows iohook to be used in conjunction with other programs that may * only provide a keycode. * @param {Boolean} using */ useRawcode(using: boolean): void /** * Enable mouse click propagation (enabled by default). * The click event are emitted and propagated. */ enableClickPropagation(): void /** * Disable mouse click propagation. * The click event are captured and the event emitted but not propagated to the window. */ disableClickPropagation(): void /** * Register global shortcut. When all keys in keys array pressed, callback will be called * @param {Array} keys Array of keycodes * @param {Function} callback Callback for when shortcut pressed * @param {Function} [releaseCallback] Callback for when shortcut released * @return {number} ShortcutId for unregister */ registerShortcut(keys: Array, callback: Function, releaseCallback?: Function): number /** * Unregister shortcut by ShortcutId * @param {number} shortcutId */ unregisterShortcut(shortcutId: number): void /** * Unregister shortcut via its key codes * @param {Array} keys */ unregisterShortcut(keys: Array): void /** * Unregister all shortcuts */ unregisterAllShortcuts(): void } declare interface IOHookEvent { type: string keychar?: number keycode?: number rawcode?: number button?: number clicks?: number x?: number y?: number } declare const iohook: IOHook; export = iohook