import { ElementRef, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { IconData } from '@ironsource/fusion-ui/components/icon/common/entities';
import { InputVariant } from '@ironsource/fusion-ui/components/input/v4';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class TextareaV4Component implements OnInit, ControlValueAccessor {
    placeholder: string;
    readonly: boolean;
    resize: boolean;
    name: string;
    isDisabled: boolean;
    model: string;
    maxLength: number;
    showLengthCounter: boolean;
    labelText: string;
    labelRequired: boolean;
    labelIcon: IconData;
    labelTooltipText: string;
    helperText: string;
    helperIcon: string;
    variant: InputVariant;
    /** @internal */
    focused: boolean;
    /** @internal */
    valueLength$: BehaviorSubject<number>;
    /** @internal */
    textArea: ElementRef<HTMLTextAreaElement>;
    testId: string;
    get testAttribute(): string;
    ngOnInit(): void;
    onChange(event: any): void;
    /**
     * Method to call when value has changes.
     */
    propagateChange: (_: string) => void;
    /**
     * Method to call when the component is touched (when it was is clicked).
     */
    propagateTouched: () => void;
    /**
     * update value from model to the component
     */
    writeValue(value: string): void;
    /**
     * Informs the outside world about changes.
     * see method propagateChange call - this.propagateChange(this.model);
     */
    registerOnChange(fn: any): void;
    /**
     * on click
     */
    registerOnTouched(fn: any): void;
    /**
     * on set form controll enabled / disabled
     * also do UI Component enabled / disabled
     */
    setDisabledState?(isDisabled: boolean): void;
    /** @internal */
    focus(): void;
    /** @internal */
    blur(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TextareaV4Component, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TextareaV4Component, "fusion-textarea", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "resize": { "alias": "resize"; "required": false; }; "name": { "alias": "name"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "model": { "alias": "model"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "showLengthCounter": { "alias": "showLengthCounter"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelRequired": { "alias": "labelRequired"; "required": false; }; "labelIcon": { "alias": "labelIcon"; "required": false; }; "labelTooltipText": { "alias": "labelTooltipText"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "helperIcon": { "alias": "helperIcon"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "testId": { "alias": "testId"; "required": false; }; }, {}, never, never, true, never>;
}
