import { EventEmitter } from "../../stencil-public-runtime";
import { InputAutocapitalizeTypes, InputAutocompleteTypes, InputEnterKeyHintType, InputModeType } from "../x-input/component";
export declare class XTextarea {
    /**
     * Typing timer instance
     */
    private typingTimer;
    /**
     * Typing input event instance
     */
    private typingEvent;
    /**
     * Element ID for internal reference
     */
    private inputId;
    /**
     * IMask instance
     */
    private maskInstance;
    /**
     * Element input label text
     */
    label?: string;
    /**
     * Element input name for forms keys
     */
    name?: string;
    /**
     * Element input placeholder text
     */
    placeholder?: string;
    /**
     * Element input information block
     */
    info?: string;
    /**
     * Element input debounce time
     */
    typingtimeout: number;
    /**
     * Element enable internal validation
     */
    validate: boolean;
    /**
     * Element input required for forms validations
     */
    required: boolean;
    /**
     * Element show loading and block for edit
     */
    loading: boolean;
    /**
     * Element input block for edit
     */
    readonly: boolean;
    /**
     * Element input clear button
     */
    cleanable: boolean;
    /**
     * Element autofocus on render
     */
    autofocus: boolean;
    /**
     * Element input autocapitalize options
     */
    capitalize: InputAutocapitalizeTypes;
    /**
     * Element input auto correction should be enabled
     */
    autocorrect: 'on' | 'off';
    /**
     * Element input value of the control can be automatically completed by the browser
     */
    autocomplete: InputAutocompleteTypes;
    /**
     * Element input hint to the browser for which enter key to display
     */
    enterkeyhint?: InputEnterKeyHintType;
    /**
     * Element input hint to the browser for which keyboard to display
     */
    inputmode?: InputModeType;
    /**
     * Element input maximun count of characters
     */
    maxlength?: number;
    /**
     * Element input minimun count of characters
     */
    minlength?: number;
    /**
     * Element input rows
     */
    rows?: number;
    /**
     * Element input imaks pattern/options
     */
    mask?: string | Object;
    /**
     * Element input value
     */
    value?: string | number | null;
    /**
     * Form input validation state
     */
    isValid: boolean;
    /**
     * Input typing state
     */
    isTyping: boolean;
    /**
     * input focus state
     */
    isFocused: boolean;
    /**
     * Input loading state
     */
    isLoading: boolean;
    /**
     * Input diabled state
     */
    isDisabled: boolean;
    /**
     * On watch mask pattern/options
     */
    protected maskChanged(): void;
    /**
     * On done input typing finish event
     */
    onDoneTypingEvent: EventEmitter<any>;
    /**
     * On clear input event
     */
    onClearInputEvent: EventEmitter<any>;
    /**
     * On validate input event
     */
    onValidateInputEvent: EventEmitter<HTMLObjectElement>;
    /**
     * Element reference
     */
    el: HTMLElement;
    /**
     * Element internal
     */
    internals: ElementInternals;
    /**
     * Validate the input and get the validation result
    */
    checkValidity(): Promise<boolean>;
    /**
     * This is called when the 'disabled' attribute of the element or or an ancestor <fieldset> is updated
     *
     * @param disabled
     */
    formDisabledCallback(disabled: boolean): void;
    /**
     * This is called when the parent/owner form is reset
     */
    formResetCallback(): void;
    /**
     * This is called on component did load
     */
    componentDidLoad(): void;
    /**
     * Set element value by event
     *
     * @param event
     */
    onInput(event: any): void;
    /**
     * This called on input field is unfocused
     */
    onBlurInput(): void;
    /**
     * This called on input field is focused
     */
    onFocusInput(): void;
    /**
     * This called on input field was changed
     *
     * @param event
     */
    onKeyUpInput(event: any): void;
    /**
     * This called on input field detect key is down
     */
    onKeyDownInput(): void;
    /**
     * This called on input field finished typing
     */
    onDoneTypingInput(): void;
    /**
     * Validate the field input
     *
     * @returns
     */
    onValidate(): void;
    /**
     * Return validation of showing the input label
     *
     * @returns
     */
    showLabel(): string | boolean;
    /**
     * Compute the placeholder value
     *
     * @returns
     */
    placeholderValue(): string;
    /**
     * Clears the input value
     */
    clearInput(): void;
    /**
     * Render component
     */
    render(): any;
}
