import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
import { BehaviorSubject } from 'rxjs';
import { KeyboardClassKey } from '../../enums/keyboard-class-key.enum';
import { IKeyboardDeadkeys } from '../../interfaces/keyboard-deadkeys.interface';
import { IMatIcon } from '../../interfaces/keyboard-icons.interface';
export declare const VALUE_NEWLINE = "\n\r";
export declare const VALUE_SPACE = " ";
export declare const VALUE_TAB = "\t";
export declare class MatKeyboardKeyComponent implements OnInit, OnDestroy {
    private _deadkeys;
    private _deadkeyKeys;
    private _repeatTimeoutHandler;
    private _repeatIntervalHandler;
    private _repeatState;
    active$: BehaviorSubject<boolean>;
    pressed$: BehaviorSubject<boolean>;
    key: string | KeyboardClassKey;
    icon: IMatIcon;
    set active(active: boolean);
    get active(): boolean;
    set pressed(pressed: boolean);
    get pressed(): boolean;
    input?: ElementRef;
    control?: FormControl;
    genericClick: EventEmitter<MouseEvent>;
    enterClick: EventEmitter<MouseEvent>;
    bkspClick: EventEmitter<MouseEvent>;
    capsClick: EventEmitter<MouseEvent>;
    altClick: EventEmitter<MouseEvent>;
    shiftClick: EventEmitter<MouseEvent>;
    spaceClick: EventEmitter<MouseEvent>;
    tabClick: EventEmitter<MouseEvent>;
    keyClick: EventEmitter<MouseEvent>;
    get lowerKey(): string;
    get charCode(): number;
    get isClassKey(): boolean;
    get isDeadKey(): boolean;
    get hasIcon(): boolean;
    get iconName(): string;
    get fontSet(): string;
    get fontIcon(): string;
    get svgIcon(): string;
    get cssClass(): string;
    get inputValue(): string;
    set inputValue(inputValue: string);
    constructor(_deadkeys: IKeyboardDeadkeys);
    ngOnInit(): void;
    ngOnDestroy(): void;
    onClick(event: MouseEvent): void;
    onPointerDown(): void;
    cancelRepeat(): void;
    private deleteSelectedText;
    private replaceSelectedText;
    private _getCursorPosition;
    private _getSelectionLength;
    private _setCursorPosition;
    private _isTextarea;
}
