import { INotifyPropertyChanged } from './notify-property-change';
import { Base, EmitType } from './base';
import { KeyboardEventsModel } from './keyboard-model';
/**
* KeyboardEvents
*/
export interface KeyboardEventArgs extends KeyboardEvent {
/**
* action of the KeyboardEvent
*/
action: string;
}
/**
* KeyboardEvents class enables you to bind key action desired key combinations for ex., Ctrl+A, Delete, Alt+Space etc.
* ```html
*
;
*
* ```
*/
export declare class KeyboardEvents extends Base implements INotifyPropertyChanged {
/**
* Specifies key combination and it respective action name.
*
* @default null
*/
keyConfigs: {
[key: string]: string;
};
/**
* Specifies on which event keyboardEvents class should listen for key press. For ex., `keyup`, `keydown` or `keypress`
*
* @default keyup
*/
eventName: string;
/**
* Specifies the listener when keyboard actions is performed.
*
* @event keyAction
*/
keyAction: EmitType;
/**
* Initializes the KeyboardEvents
*
* @param {HTMLElement} element ?
* @param {KeyboardEventsModel} options ?
*/
constructor(element: HTMLElement, options?: KeyboardEventsModel);
/**
* Unwire bound events and destroy the instance.
*
* @returns {void} ?
*/
destroy(): void;
/**
* Function can be used to specify certain action if a property is changed
*
* @param {KeyboardEventsModel} newProp ?
* @param {KeyboardEventsModel} oldProp ?
* @returns {void} ?
* @private
*/
onPropertyChanged(newProp: KeyboardEventsModel, oldProp?: KeyboardEventsModel): void;
protected bind(): void;
/**
* To get the module name, returns 'keyboard'.
*
* @returns {string} ?
* @private
*/
getModuleName(): string;
/**
* Wiring event handlers to events
*
* @returns {void} ?
* @private
*/
private wireEvents;
/**
* Unwiring event handlers to events
*
* @returns {void} ?
* @private
*/
private unwireEvents;
/**
* To handle a key press event returns null
*
* @param {KeyboardEventArgs} e ?
* @returns {void} ?
*/
private keyPressHandler;
private static configCache;
/**
* To get the key configuration data
*
* @param {string} config - configuration data
* @returns {KeyData} ?
*/
private static getKeyConfigData;
private static getKeyCode;
}