import * as polytype from 'polytype';
import * as i0 from '@angular/core';
import { ElementRef } from '@angular/core';
import { MXInputBaseValueComponent, MXLookComponent } from '@acorex/cdk/common';
import * as i1 from '@angular/common';
import * as i2 from '@angular/forms';

declare const AXTextAreaComponent_base: polytype.Polytype.ClusteredConstructor<[{
    new (): MXInputBaseValueComponent<string>;
    ɵfac: i0.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
    ɵprov: i0.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
}, typeof MXLookComponent]>;
/**
 * A component that provides a multi-line text input field with support for resizing, validation, and custom styling.
 */
declare class AXTextAreaComponent extends AXTextAreaComponent_base {
    /** @ignore */
    input: ElementRef<HTMLInputElement>;
    /**
     * Specifies the number of rows for the component, typically used for configuring the size of a text area or similar input field.
     */
    rows: number;
    /**
     * Indicates whether the component allows resizing.
     */
    allowResize: boolean;
    /**
     * Determines whether a counter is displayed in the component.
     */
    showCounter: boolean;
    /**
     * Specifies the maximum number of characters allowed in the input field.
     */
    maxLength: number;
    /**
     * CSS classes to apply to the component.
     */
    classNames: string;
    /** @ignore */
    protected _handleModelChange(value: string | null): void;
    private get __hostName();
    static ɵfac: i0.ɵɵFactoryDeclaration<AXTextAreaComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXTextAreaComponent, "ax-text-area", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "look": { "alias": "look"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "allowResize": { "alias": "allowResize"; "required": false; }; "showCounter": { "alias": "showCounter"; "required": false; }; "classNames": { "alias": "class"; "required": false; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; }, never, ["ax-validation-rule"], true, never>;
}

declare class AXTextAreaModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXTextAreaModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXTextAreaModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof AXTextAreaComponent], [typeof AXTextAreaComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXTextAreaModule>;
}

export { AXTextAreaComponent, AXTextAreaModule };
