import { ChangeDetectorRef, Injector, OnInit } from '@angular/core';
import { ControlValueAccessor, NgControl, NgForm, NgModelGroup } from '@angular/forms';
import { Observable, ReplaySubject } from 'rxjs';
import { FormDisabledDirective } from '../form-disabled.directive';
import { FocusOrigin } from '@angular/cdk/a11y';
import { AutocompleteValue } from '../input/input.component';
export declare class TextareaComponent implements OnInit, ControlValueAccessor {
    private injector;
    private changeDetectorRef;
    modelGroup: NgModelGroup;
    private form;
    private formDisabled;
    label: string;
    placeholder: string;
    name: string;
    groupValidation: boolean;
    autocomplete: AutocompleteValue;
    value: any;
    private onChange;
    private onTouched;
    private _focused;
    focusSubject: ReplaySubject<boolean>;
    focused: Observable<boolean>;
    onfocus: Observable<void>;
    onblur: Observable<void>;
    required: boolean;
    set setRequired(value: boolean);
    disabled: boolean;
    set setDisabled(value: boolean);
    autofocus: boolean;
    set setAutofocus(value: boolean);
    control: NgControl;
    constructor(injector: Injector, changeDetectorRef: ChangeDetectorRef, modelGroup: NgModelGroup, form: NgForm, formDisabled: FormDisabledDirective);
    ngOnInit(): void;
    get invalid(): boolean;
    get isFocused(): boolean;
    get isFilled(): boolean;
    get viewDisabled(): boolean;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: () => {}): void;
    writeValue(outsideValue: any): void;
    updateValue(insideValue: any): void;
    setDisabledState(isDisabled: boolean): void;
    focus(origin: FocusOrigin): void;
}
