import { TextArea as FoundationTextArea } from '@ni/fast-foundation';
import { TextAreaAppearance } from './types';
declare global {
    interface HTMLElementTagNameMap {
        'nimble-text-area': TextArea;
    }
}
declare const TextArea_base: (abstract new (...args: any[]) => {
    errorText?: string;
    errorVisible: boolean;
    errorHasOverflow: boolean;
    readonly $fastController: import("@ni/fast-element").Controller;
    $emit(type: string, detail?: any, options?: Omit<CustomEventInit, "detail">): boolean | void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
}) & (abstract new (...args: any[]) => {
    requiredVisible: boolean;
    readonly $fastController: import("@ni/fast-element").Controller;
    $emit(type: string, detail?: any, options?: Omit<CustomEventInit, "detail">): boolean | void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
}) & typeof FoundationTextArea;
/**
 * A nimble-styed HTML text area
 */
export declare class TextArea extends TextArea_base {
    /**
     * The appearance the text area should have.
     *
     * @public
     * @remarks
     * HTML Attribute: appearance
     */
    appearance: TextAreaAppearance;
    appearanceReadOnly: boolean;
    /**
     * The width of the vertical scrollbar, if displayed.
     * @internal
     */
    scrollbarWidth: number;
    private resizeObserver?;
    private updateScrollbarWidthQueued;
    /**
     * @internal
     */
    connectedCallback(): void;
    /**
     * @internal
     */
    disconnectedCallback(): void;
    /**
     * @internal
     */
    onTextAreaInput(): void;
    /**
     * @internal
     */
    placeholderChanged(): void;
    /**
     * @internal
     */
    valueChanged(previous: string, next: string): void;
    private onResize;
    private queueUpdateScrollbarWidth;
    private updateScrollbarWidth;
}
export declare const textAreaTag = "nimble-text-area";
export {};
