import { BooleanInput } from '@angular/cdk/coercion';
import { ChangeDetectorRef, OnInit } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { TranslateService } from '@ngx-translate/core';
import { TextareaColor, TextareaSize } from './textarea.types';
import * as i0 from "@angular/core";
export declare class TextareaComponent implements ControlValueAccessor, OnInit {
    private cdr;
    private translation;
    control?: NgControl | undefined;
    static ngAcceptInputType_disabled: BooleanInput;
    private onChange?;
    private onTouched?;
    _value: string | null;
    touched: boolean;
    placeholder?: string;
    disabled: boolean;
    color: TextareaColor;
    size: TextareaSize;
    rows: number;
    maxLength?: number;
    get value(): string | null;
    set value(v: string | null);
    get wordCount(): number;
    get styles(): {
        [klass: string]: boolean;
    };
    get errorMessage(): any;
    constructor(cdr: ChangeDetectorRef, translation: TranslateService, control?: NgControl | undefined);
    ngOnInit(): void;
    get invalid(): boolean;
    get showError(): boolean;
    writeValue(source: string): void;
    registerOnChange(onChange: (source: string | null) => void): void;
    registerOnTouched(onTouched: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    markAsTouched(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TextareaComponent, [null, null, { optional: true; self: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TextareaComponent, "xui-textarea", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "color": { "alias": "color"; "required": false; }; "size": { "alias": "size"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, never>;
}
