import { EventEmitter } from '../../stencil.core';
import { InputChangeEvent } from '../../types/types';
export declare class Textarea {
    private nativeInput;
    /**
     * The input id
     */
    inputId: string;
    /**
     * This Boolean attribute lets you specify that a form control should have textarea focus when the page loads. Defaults to `false`.
     */
    autofocus: boolean;
    /**
     * Set the amount of time, in milliseconds, to wait to trigger the `anjChange` event after each keystroke. Default `0`.
     */
    debounce: number;
    debounceChanged(): void;
    /**
     * If true, the user cannot interact with the textarea. Defaults to `false`.
     */
    disabled: boolean;
    /**
     * Whether the control is valid
     */
    invalid: boolean;
    invalidChanged(newVal: any, oldVal: any): void;
    /**
     * The shortest the text blob is allowed to be.
     */
    maxlength?: number;
    /**
     * The longest the text blob is allowed to be.
     */
    minlength?: number;
    /**
     * The name of the control, which is submitted with the form data.
     */
    name: string;
    /**
     * Instructional text that shows before the textarea has a value.
     */
    placeholder?: string;
    /**
     * If true, the user cannot modify the value. Defaults to `false`.
     */
    readonly: boolean;
    /**
     * If true, the user must fill in a value before submitting a form.
     */
    required: boolean;
    /**
     * If true, the element will have its spelling and grammar checked. Defaults to `false`.
     */
    spellcheck: boolean;
    /**
     * The visible width of the text control, in average character widths. If it is specified, it must be a positive integer.
     */
    cols?: number;
    /**
     * The number of visible text lines for the control.
     */
    rows: number;
    /**
     * Indicates how the control wraps text. Possible values are: `"hard"`, `"soft"`, `"off"`.
     */
    wrap?: string;
    /**
     * The value of the textarea.
     */
    value: string;
    valueChanged(): void;
    /**
     * Emitted when invalid status changes.
     */
    anjInvalid: EventEmitter<any>;
    /**
     * Emitted when a keyboard textarea ocurred.
     */
    anjInput: EventEmitter<any>;
    /**
     * Emitted when the value has changed.
     */
    anjChange: EventEmitter<InputChangeEvent>;
    /**
     * Emitted when the textarea loses focus.
     */
    anjBlur: EventEmitter<void>;
    /**
     * Emitted when the textarea has focus.
     */
    anjFocus: EventEmitter<void>;
    /**
     * Emitted when the textarea has been created.
     */
    anjControlDidLoad: EventEmitter<void>;
    /**
     * Emitted when the textarea has been removed.
     */
    anjControlDidUnload: EventEmitter<void>;
    componentDidLoad(): void;
    componentDidUnload(): void;
    /**
     * Checks the native element validity use native validators
     */
    checkValidity(): Promise<boolean>;
    private onValidChange;
    private getValue;
    private onInput;
    private onBlur;
    private onFocus;
    render(): any;
}
