import { type CSSProperties, type HTMLAttributes, type TextareaHTMLAttributes } from "react";
import { type PropsWithRef } from "../types.js";
import { type FormFieldOptions } from "./types.js";
import { type TextAreaResize } from "./useResizingTextArea.js";
/**
 * @remarks \@since 6.0.0 Added `containerProps`.
 */
export interface TextAreaProps extends FormFieldOptions, TextareaHTMLAttributes<HTMLTextAreaElement> {
    /** @defaultValue `"text-area-" + useId()` */
    id?: string;
    /**
     * Optional placeholder text to display in the text field.
     *
     * @defaultValue `label ? " " : ""`
     */
    placeholder?: string;
    /**
     * Set this to `true` if the auto resizing textarea should not animate for new
     * height changes.
     *
     * @defaultValue `false`
     */
    disableTransition?: boolean;
    /**
     * An optional style to apply to the textarea element. The base `style` prop
     * is applied to the surrounding `div` instead.
     */
    areaStyle?: CSSProperties;
    /**
     * An optional className to apply to the textarea element. The base `style`
     * prop is applied to the surrounding `div` instead.
     */
    areaClassName?: string;
    /**
     * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-rows
     * @defaultValue `2`
     */
    rows?: number;
    /**
     * The maximum number of rows a textarea can expand to before showing a
     * scrollbar. When this is set to `-1`, there will be no limit.
     *
     * @defaultValue `-1`
     */
    maxRows?: number;
    /**
     * @see {@link TextAreaResize}
     * @defaultValue `"auto"`
     */
    resize?: TextAreaResize;
    /**
     * When the {@link resize} prop is set to `"auto"`, an additional `<div>` is
     * added along with a hidden `<textarea>` mask. This prop can be used to add
     * any additional styling or props to that div.
     *
     * This will only be applied when {@link resize} is set to `"auto"`.
     */
    resizeContainerProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
    /**
     * Optional props to provide to the {@link TextFieldContainer} component.
     * There probably isn't any real use for this prop other than if you need to
     * add a `ref` for some DOM behavior.
     */
    containerProps?: PropsWithRef<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
}
/**
 * **Client Component**
 *
 * @example
 * Simple Example
 * ```tsx
 * import { TextArea } from "@react-md/core";
 * import type { ReactElement } from "react";
 *
 * function Example(): ReactElement {
 *   return (
 *     <TextArea
 *       label="Label"
 *       placeholder="Placeholder"
 *     />
 *   );
 * }
 * ```
 */
export declare const TextArea: import("react").ForwardRefExoticComponent<TextAreaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
