import { ElementRef, OnChanges, OnInit, Renderer2, SimpleChanges, OnDestroy, DoCheck } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { BaseDirective } from '../../base.directive';
import * as i0 from "@angular/core";
export declare class EuiTextareaComponent extends BaseDirective implements OnInit, OnDestroy, DoCheck, OnChanges, ControlValueAccessor {
    protected control: NgControl;
    protected _elementRef: ElementRef;
    protected _renderer: Renderer2;
    static idCounter: number;
    get cssClasses(): any;
    get readonly(): any;
    set readonly(state: any);
    id: string;
    isInvalid: boolean;
    e2eAttr: string;
    protected _readonly: boolean;
    protected hostEl: HTMLTextAreaElement;
    protected hostParentEl: HTMLElement;
    protected hostWrapperEl: HTMLDivElement;
    protected valueContainerEl: HTMLDivElement;
    private destroy$;
    constructor(control: NgControl, _elementRef: ElementRef, _renderer: Renderer2);
    onInputChange(value: any): void;
    onBlur(value: any): void;
    ngOnInit(): void;
    ngDoCheck(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    protected onChange(_: any): void;
    protected onTouched(_: any): void;
    private createHostWrapperContainer;
    /**
     * Create a Div element which will hold the value to display when readonly
     * @private
     */
    private createValueContainer;
    /**
     * Changes the markup around the textarea. Append textarea onto a container with div
     * @private
     */
    private handleMarkup;
    static ɵfac: i0.ɵɵFactoryDef<EuiTextareaComponent, [{ optional: true; self: true; }, null, null]>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<EuiTextareaComponent, "textarea[euiTextArea]", never, { "readonly": "readonly"; "id": "id"; "isInvalid": "isInvalid"; "e2eAttr": "e2eAttr"; }, {}, never, ["*"]>;
}
