/**
 * @module KeyboardEvent
 */
/**
 * Keyboard event class
 * @class
 * @extends {module:BaseEvent}
 */
export default class KeyboardEvent {
    /**
     * @typedef {Object} KeyboardEvents
     * @prop {String} down - Keyboard key pressed
     * @prop {String} up - Keyboard key released
     */
    /**
     * Set of supported event name for easy access
     * @example component.on(KeyboardEvent.events.up, () => console.log("User release a key"));
     * @type {KeyboardEvents}
     */
    static get events(): {
        /**
         * - Keyboard key pressed
         */
        down: string;
        /**
         * - Keyboard key released
         */
        up: string;
    };
    /**
     * @typedef {Object} ArrowKeys
     * @prop {String} up - Up arrow
     * @prop {String} right - Right arrow
     * @prop {String} down - Down arrow
     * @prop {String} left - Left arrow
     */
    /**
     * @typedef {Object} KeyboardKeys
     * @prop {String} backspace - Remove last character or return previous screen
     * @prop {String} enter - Add line-break or validate entry
     * @prop {String} delete - Remove character in front
     * @prop {String} escape - Cancel or leave screen
     * @prop {String} control - Modifying key (control)
     * @prop {String} shift - Modifying key (uppercase)
     * @prop {String} fn - Modifying key (function)
     * @prop {ArrowKeys}
     * @prop {String} tab - Next input or toggle focus
     * @prop {String} alt - Modifying key (alternative)
     * @prop {String} altGr - Modifying key (alternative grapheme)
     * @prop {String} pageUp - Move up one page
     * @prop {String} pageDown - Move down one page
     * @prop {String} start - Go to start
     * @prop {String} end - Go to end
     * @prop {String} insert - Insert here or toggle insert mode
     */
    /**
     * Set of keys for easy access
     * @example if (key === KeyboardEvent.keys.enter) {
     *     console.log("This is the enter key");
     * }
     * @type {KeyboardKeys}
     */
    static get keys(): {
        /**
         * - Remove last character or return previous screen
         */
        backspace: string;
        /**
         * - Add line-break or validate entry
         */
        enter: string;
        /**
         * - Remove character in front
         */
        delete: string;
        /**
         * - Cancel or leave screen
         */
        escape: string;
        /**
         * - Modifying key (control)
         */
        control: string;
        /**
         * - Modifying key (uppercase)
         */
        shift: string;
        /**
         * - Modifying key (function)
         */
        fn: string;
        "": {
            /**
             * - Up arrow
             */
            up: string;
            /**
             * - Right arrow
             */
            right: string;
            /**
             * - Down arrow
             */
            down: string;
            /**
             * - Left arrow
             */
            left: string;
        };
        /**
         * - Next input or toggle focus
         */
        tab: string;
        /**
         * - Modifying key (alternative)
         */
        alt: string;
        /**
         * - Modifying key (alternative grapheme)
         */
        altGr: string;
        /**
         * - Move up one page
         */
        pageUp: string;
        /**
         * - Move down one page
         */
        pageDown: string;
        /**
         * - Go to start
         */
        start: string;
        /**
         * - Go to end
         */
        end: string;
        /**
         * - Insert here or toggle insert mode
         */
        insert: string;
    };
    /**
     * MouseEvent constructor
     * @param {String} name - Name of the event
     * @param {EventEmitter} target - Component concerned by the event
     * @param {UIEvent} [event] - Original HTML event
     * For the complete list of key values:
     * https://developer.mozilla.org/en/docs/Web/API/KeyboardEvent/key/Key_Values
     */
    constructor(name: string, target: EventEmitter, event?: UIEvent);
    key: any;
    /**
     * @inheritDoc
     */
    getModifier(): any;
}
