import FormControlElement from "../../base/form-control-element";
import { SgdsFormControl } from "../../utils/formSubmitController";
declare const SgdsTextarea_base: (new (...args: any[]) => import("../../utils/validatorMixin").ToBeValidatedElementInterface) & typeof FormControlElement;
/**
 * @summary Text areas allow for the collection of input longer than a single line.
 *
 * @slot invalidIcon - The slot for invalid icon
 *
 * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.
 * @event sgds-input - Emitted when the control receives input and its value changes.
 * @event sgds-focus - Emitted when textarea is in focus.
 * @event sgds-blur - Emitted when textarea loses focus.
 */
export declare class SgdsTextarea extends SgdsTextarea_base implements SgdsFormControl {
    static styles: import("lit").CSSResult[];
    /**@internal */
    textarea: HTMLTextAreaElement;
    /**@internal */
    private resizeObserver;
    /**The textarea's name attribute */
    name: string;
    /**The textarea's value attribute. */
    value: string;
    /**Sets the minimum length of the textarea */
    minlength: number;
    /**Sets the maximum length of the textarea. When maxlength is defined, a word count appears on bottom right of the input*/
    maxlength: number;
    /**Enables spell checking on the textarea */
    spellcheck: boolean;
    /** The number of rows to display by default. */
    rows: number;
    /**The textarea's placeholder text. */
    placeholder: string;
    /** Custom feedback text for error state when validated */
    invalidFeedback: string;
    /**Autofocus the textarea */
    autofocus: boolean;
    /** Makes the textarea readonly. */
    readonly: boolean;
    /** Controls how the textarea can be resized. */
    resize: "none" | "vertical" | "auto";
    /** The native textarea's inputmode attribute. It hints at the type of data that might be entered by the user while editing the element or its contents. This allows a browser to display an appropriate virtual keyboard. */
    inputmode: "none" | "text" | "decimal" | "numeric" | "tel" | "search" | "email" | "url";
    /** The native textarea's autocorrect attribute. */
    autocorrect: boolean;
    /** @internal Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */
    defaultValue: string;
    /** Allows invalidFeedback, invalid and valid styles to be visible with the input */
    hasFeedback: boolean;
    /** Makes the textarea as a required field. */
    required: boolean;
    /** The textarea's hint text */
    hintText: string;
    private _isTouched;
    /** Sets focus on the textarea. */
    focus(options?: FocusOptions): void;
    /** Sets blur on the textarea. */
    blur(): void;
    /**
     * Checks for validity. Under the hood, HTMLFormElement's reportValidity method calls this method to check for component's validity state
     * Note that the native error popup is prevented for SGDS form components by default. Instead the validation message shows up in the feedback container of SgdsInput
     */
    reportValidity(): boolean;
    /**
     * Checks for validity without any native error popup message
     */
    checkValidity(): boolean;
    /**
     * Returns the ValidityState object
     */
    get validity(): ValidityState;
    /**
     * Returns the validation message based on the ValidityState
     */
    get validationMessage(): string;
    /** Selects all the text in the textarea. */
    select(): void;
    private _handleInvalid;
    protected _handleChange(e: Event): void;
    private _handleInputChange;
    private _handleFocus;
    private _handleBlur;
    /** @internal */
    _handleRowsChange(): void;
    private _setTextareaHeight;
    /** @internal */
    _handleIsTouched(): void;
    /** @internal */
    _handleDisabledChange(): void;
    /** @internal */
    _handleValueChange(): void;
    protected _renderHintText(): import("lit").TemplateResult;
    private _wordCount;
    render(): import("lit").TemplateResult;
}
export default SgdsTextarea;
