import { PropertyValueMap, PropertyValues } from "lit";
import { FRoot } from "../../mixins/components/f-root/f-root";
export type FTextAreaState = "primary" | "default" | "success" | "warning" | "danger";
export type FTextAreaCustomEvent = {
    value?: string;
};
export declare class FTextArea extends FRoot {
    /**
     * css loaded from scss file
     */
    static styles: import("lit").CSSResult[];
    /**
     * @attribute value to be inserted in text-area.
     */
    value?: string;
    /**
     * @attribute categories are of three types.
     */
    category?: "fill" | "transparent" | "outline";
    /**
     * @attribute States are used to communicate purpose and connotations.
     */
    state?: FTextAreaState;
    /**
     * @attribute f-text-area can have 2 sizes.
     */
    size?: "small" | "medium";
    /**
     * @attribute Defines the  no. of rows to display. By default f-text-area provides 3 rows. After 3 rows text area becomes scrollable.
     */
    rows?: number;
    /**
     * @attribute Defines the placeholder text for f-text-area.
     */
    placeholder?: string;
    /**
     * @attribute This shows the character count while typing and auto limits after reaching the max length.
     */
    maxLength?: number;
    /**
     * @attribute Provides a resize handle on the bottom right of text-area which enables a user to resize the text-area within the parents scope.
     */
    resizable?: boolean;
    /**
     * @attribute Displays a close icon-button on the right side of the input that allows the user to clear the input value
     */
    clear?: boolean;
    /**
     * @attribute Displays a close icon-button on the right side of the input that allows the user to clear the input value
     */
    disabled?: boolean;
    /**
     * @attribute Only Text could be read, can't be edited
     */
    readOnly?: boolean;
    /**
     * @attribute mask value of text area
     */
    maskValue?: boolean;
    textareaElement?: HTMLTextAreaElement;
    calcHeight(): void;
    handleKeyUp(e: KeyboardEvent): void;
    /**
     * emit event
     */
    handleInput(e: InputEvent): void;
    replaceCharacter(string: string, index: number, replacement: string): string;
    /**
     * clear value inside f-text-area on click of clear icon.
     */
    clearValue(): void;
    /**
     * apply styles
     */
    applyStyles(parent: HTMLElement | ""): string;
    protected willUpdate(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
    render(): import("lit-html").TemplateResult<1>;
    getDots(): string;
    protected updated(changedProperties: PropertyValues): void;
}
/**
 * Required for typescript
 */
declare global {
    interface HTMLElementTagNameMap {
        "f-text-area": FTextArea;
    }
}
