import { type PartialWithUndefined } from '@augment-vir/common';
/**
 * A multi-line text area element with all listeners properly attached. Mirrors the look and feel of
 * {@link ViraInput} but for multi-line text input.
 *
 * @category Input
 * @category Elements
 * @see https://electrovir.github.io/vira/book/elements/vira-text-area
 */
export declare const ViraTextArea: import("element-vir").DeclarativeElementDefinition<"vira-text-area", PartialWithUndefined<{
    /** A label that is shown above the text area, if provided. */
    label: string;
    /** If true, applies error styling. */
    hasError: boolean;
    /** Number of visible text rows. Defaults to 4. */
    rows: number;
    /** If true, blocks the user's ability to resize the text area. */
    preventResize: boolean;
}> & {
    value: string;
} & PartialWithUndefined<{
    placeholder: string;
    disabled: boolean;
    isReadonly: boolean;
    allowedInputs: string | RegExp;
    blockedInputs: string | RegExp;
    disableBrowserHelps: boolean;
    fitText: boolean;
    attributePassthrough: import("element-vir").AttributeValues;
}>, {
    /**
     * Used to couple the label and text area together. This is not applied if no label is
     * provided.
     */
    randomId: string;
}, {
    /**
     * Fires whenever a user input created a new value. Does not fire if all input letters are
     * filtered out due to input restrictions.
     */
    valueChange: import("element-vir").DefineEvent<string>;
    /**
     * Fires when inputs are blocked. Useful for showing warnings or error messages to inform
     * the user why their input did not propagate if it was blocked. This does not fire for text
     * that was blocked out of programmatic "value" property assignments.
     */
    inputBlocked: import("element-vir").DefineEvent<string>;
}, "vira-text-area-disabled" | "vira-text-area-error" | "vira-text-area-prevent-resize", "vira-text-area-padding-horizontal" | "vira-text-area-padding-vertical", readonly [], readonly []>;
