import { OnInit, OnDestroy, ElementRef, AfterViewInit, Renderer2, OnChanges, SimpleChanges } from '@angular/core';
import { NgControl } from '@angular/forms';
import * as i0 from "@angular/core";
export declare class AutoResizeDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {
    protected el: ElementRef;
    protected renderer: Renderer2;
    protected control: NgControl;
    private defaultRows;
    private destroy$;
    private observer;
    get autoResize(): boolean;
    set autoResize(state: boolean);
    private _autoResize;
    set minRows(minRows: number);
    constructor(el: ElementRef, renderer: Renderer2, control: NgControl);
    onInput(): void;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * Calculates the height and set it, causing the textarea to resize.
     */
    resize(heightAuto?: boolean): void;
    /**
     * handles value changes through FormControl
     * @protected
     */
    protected handleFormControlChanges(): void;
    private readonlyMutationObserver;
    static ɵfac: i0.ɵɵFactoryDef<AutoResizeDirective, [null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDefWithMeta<AutoResizeDirective, "textarea[autoResize]", never, { "autoResize": "autoResize"; "minRows": "minRows"; }, {}, never>;
}
