import * as _angular_core from '@angular/core';
import { OnInit, AfterViewInit, ElementRef, QueryList, WritableSignal } from '@angular/core';
import { SymbolRegistry, SymbolComponent } from '@agorapulse/ui-symbol';
import { ControlValueAccessor } from '@angular/forms';

declare const AP_TEXTAREA_CONTROL_VALUE_ACCESSOR: {
    provide: _angular_core.InjectionToken<readonly ControlValueAccessor[]>;
    useExisting: _angular_core.Type<any>;
    multi: boolean;
};
/**
 * @deprecated use native textarea with directive apTextarea and ap-form-field instead
 */
declare class TextareaComponent implements OnInit, AfterViewInit, ControlValueAccessor {
    readonly elementRef: ElementRef;
    readonly symbolRegistry: SymbolRegistry;
    symbols: QueryList<SymbolComponent>;
    ariaLabel: string;
    ariaLabelledBy: string;
    ariaDescribedBy: string;
    disabled: boolean;
    textareaId?: string;
    name: string;
    label?: string;
    description?: string;
    rows: number;
    cols: number;
    autoresize: boolean;
    required: boolean;
    placeholder: string;
    errorMessage?: string;
    successMessage?: string;
    resize: boolean;
    symbolPosition: 'left' | 'right';
    private _controlValueAccessorChangeFn;
    hostDataTest: WritableSignal<string | undefined>;
    value: string | null;
    onTouched: () => void;
    constructor();
    ngOnInit(): void;
    ngAfterViewInit(): void;
    validate(): false | {
        invalid: boolean;
    };
    onValueChange(): void;
    writeValue(value: string): void;
    registerOnChange(fn: (value: string | null) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextareaComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextareaComponent, "ap-textarea", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaDescribedBy": { "alias": "ariaDescribedBy"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "textareaId": { "alias": "textareaId"; "required": false; }; "name": { "alias": "name"; "required": true; }; "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "autoresize": { "alias": "autoresize"; "required": false; }; "required": { "alias": "required"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "successMessage": { "alias": "successMessage"; "required": false; }; "resize": { "alias": "resize"; "required": false; }; "symbolPosition": { "alias": "symbolPosition"; "required": false; }; }, {}, ["symbols"], never, true, never>;
    static ngAcceptInputType_autoresize: unknown;
    static ngAcceptInputType_required: unknown;
}

export { AP_TEXTAREA_CONTROL_VALUE_ACCESSOR, TextareaComponent };
