import { IGetMappedKeys, IKeyboardOptions } from "./interface.js"; /** * `KeyboardManager` é reponsável por gerenciar eventos de teclado. */ export declare class KeyboardManager { private _options; private _shadowRoots; private _mappedElements; /** * Construtor para a classe Keyboard. * * @param {IKeyboardOptions} options - opções para o gerenciamento de eventos de teclado. */ constructor(options?: Partial); private findAllNestedShadowRoots; private addEventListenerToNestedShadowRoots; private removeEventListenerToNestedShadowRoots; /** * Associa um evento de teclado com uma função * * @param {string} keyMap - Chave de mapeamento de teclado. * @param {VoidFunction} callback - Função a ser executada quando o evento de teclado for disparado. * @param {IKeyboardOptions} [options] - Configurações dos eventos de teclado. * @return {KeyboardManager} O objeto `KeyboardManager` */ bind(keyMap: string, callback: VoidFunction, options?: Partial): KeyboardManager; /** * Remove todos os eventos de teclado ou de uma lista informada * */ unbindAllShortcutKeys(listShortcutKeys?: string[]): void; /** * Remove um evento de teclado * * @param {string} keyMap - Chave de mapeamento de teclado. * @return {KeyboardManager} - O objeto `KeyboardManager` */ unbind(keyMap: string): KeyboardManager; /** * Obtém as chaves mapeadas. * * @return {Array} chaves mapeadas com descrições */ get mappedKeys(): Array; /** * Executa uma função quando um evento de teclado for disparado * * @param {string} keyMap - Chave de mapeamento de teclado * @param {VoidFunction} callback - Função a ser executada * @param {boolean} propagate - Se o evento de teclado deve ser propagado * @param {KeyboardEvent} event - O evento de teclado */ private handleListenerEvent; /** * Verifica se um evento de teclado foi disparado * * @param {string} keyMap - Chave de mapeamento de teclado * @param {number} pressedKeyCode - Código do evento de teclado pressionado * @return {IKeyAppliedResponse} Retorna se o evento de teclado foi disparado e as teclas modificadoras aplicadas ao evento */ private keyAppliedWithModifiers; /** * Verifica se todas as teclas modificadoras foram aplicadas ao evento * * @param {KeyboardEvent} event - O evento de teclado * @param {Array} modifiedList - As teclas modificadoras * @return {boolean} Retorna se todas as teclas modificadoras foram aplicadas */ private checkModifiersIsApplied; /** * Verifica e impede que o evento de teclado seja propagado * * @param {KeyboardEvent} event - O evento de teclado * @param {boolean} propagate - Se o evento de teclado deve ser propagado * @return {void} */ private verifyAndStopPropagation; }