import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
import { ControlValueAccessor, NgForm } from '@angular/forms';
import { Observable, ReplaySubject } from 'rxjs';
import { FocusOrigin } from '@angular/cdk/a11y';
import IMask from 'imask';
import { ControlComponent } from '../control/control.component';
import { AutocompleteValue } from '../input/input.component';
import * as i0 from "@angular/core";
export declare class TextareaComponent implements OnInit, ControlValueAccessor {
    private changeDetectorRef;
    private form;
    private control;
    name: string;
    autocomplete: AutocompleteValue;
    mask: IMask.AnyMaskedOptions;
    placeholder: string;
    value: any;
    focusSubject: ReplaySubject<boolean>;
    focused: Observable<boolean>;
    onfocus: Observable<void>;
    onblur: Observable<void>;
    keydown: EventEmitter<KeyboardEvent>;
    required: boolean;
    set setRequired(value: boolean);
    disabled: boolean;
    set setDisabled(value: boolean);
    autofocus: boolean;
    set setAutofocus(value: boolean);
    private onChange;
    private onTouched;
    private _pattern;
    constructor(changeDetectorRef: ChangeDetectorRef, form: NgForm, control: ControlComponent);
    ngOnInit(): void;
    get label(): any;
    get isFilled(): boolean;
    set pattern(value: string);
    registerOnChange(fn: any): void;
    registerOnTouched(fn: () => {}): void;
    writeValue(outsideValue: any): void;
    setDisabledState(isDisabled: boolean): void;
    updateValue(insideValue: any): void;
    focus(origin: FocusOrigin): void;
    onKeydown(event: KeyboardEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TextareaComponent, [null, { optional: true; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TextareaComponent, "ui-textarea", never, { "name": "name"; "autocomplete": "autocomplete"; "mask": "mask"; "placeholder": "placeholder"; "setRequired": "required"; "setDisabled": "disabled"; "setAutofocus": "autofocus"; "pattern": "pattern"; }, { "focusSubject": "focusSubject"; "focused": "focused"; "onfocus": "onfocus"; "onblur": "onblur"; "keydown": "keydown"; }, never, never>;
}
