import { OnInit, ElementRef, EventEmitter } from '@angular/core';
import { TextArea } from '../../../../../component/dataview/input/TextArea.component';
import { IHasData } from '../../../../../component/IHasData';
import { ValidationResult } from '../../../../../component/model/ValidationResult';
import { IHasHelp } from '../../../../../component/IHasHelp';
import { NeedFocusService } from '../../../../../service/NeedFocusService.service';
import { FormatterFactory } from '../../../../../service/FormatterFactory.service';
import { IFormatter } from '../../../../../share/formatter/IFormatter';
export declare class MaterialTextArea extends TextArea implements OnInit, IHasHelp {
    static readonly TYPE_NAME: string;
    protected dataParent: IHasData;
    protected ignoreParentData: boolean;
    protected data: any;
    protected ignoreParentDisabled: boolean;
    protected delegateHistory: boolean;
    protected onDisabled: Function;
    protected onEnabled: Function;
    protected loadingEnabled: boolean;
    protected i18nKey: string;
    protected bypass: boolean;
    protected options: any;
    protected disabled: boolean;
    protected field: string;
    protected name: string;
    protected typeOfData: string;
    protected readOnly: boolean;
    protected help: any;
    protected formatter: IFormatter;
    protected formatterName: string;
    protected formatterOptions: any;
    protected formatterUsePropertyValue: boolean;
    protected type: string;
    protected width: string;
    protected cols: number;
    protected rows: number;
    protected label: string;
    protected description: string;
    protected autosize: boolean;
    protected matAutosizeMinRows: number;
    protected matAutosizeMaxRows: number;
    protected loadEvent: EventEmitter<any>;
    protected startValidateEvent: EventEmitter<any>;
    protected endValidateEvent: EventEmitter<any>;
    protected beforeFocusEvent: EventEmitter<any>;
    protected focusEvent: EventEmitter<any>;
    protected beforeLostFocusEvent: EventEmitter<any>;
    protected lostFocusEvent: EventEmitter<any>;
    protected beforeChangeEvent: EventEmitter<any>;
    protected changeEvent: EventEmitter<any>;
    protected beforeKeyUpEvent: EventEmitter<any>;
    protected keyUpEvent: EventEmitter<any>;
    protected beforeKeyDownEvent: EventEmitter<any>;
    protected keyDownEvent: EventEmitter<any>;
    private active;
    private classFocused;
    constructor(elementRef: ElementRef, formatterFactory: FormatterFactory, needFocusService: NeedFocusService);
    ngOnInit(): void;
    private refreshActiveTextArea();
    private doExpand();
    getClassMatFocused(): any;
    _hasLabel(): boolean;
    _hasDescription(): boolean;
    _displayHelp(): boolean;
    _isActive(): boolean;
    _isClassFocused(): boolean;
    onKeyUp($event: Event): void;
    protected onValidationEnd(inputValue: any, results: ValidationResult[]): void;
    protected onDataChange(data: any, inputVal: any): void;
    protected doFocus($event: Event): void;
    protected doLostFocus($event: Event): void;
    onFocus(event: any): void;
    onFocusing($event: Event): void;
    onLostFocusing($event: Event): void;
    onValueChanged($event: Event): void;
    getDescription(): string;
    setDescription(description: string): void;
    getLabel(): string;
    setLabel(label: string): void;
    isAutosize(): boolean;
    setAutosize(autosize: boolean): void;
    getMatAutosizeMinRows(): number;
    setMatAutosizeMinRows(matAutosizeMinRows: number): void;
    getMatAutosizeMaxRows(): number;
    setMatAutosizeMaxRows(matAutosizeMaxRows: number): void;
}
