import React from "react";
import { VoidFunc } from "../../../fd-toolbox/functions/internal-getter-setter-functions";
/**
 * Props of {@link Textarea}
 *
 * This component is an enhanced textarea html component with an animated label and support for
 * dynamic value updates.
 */
export interface TextareaProps {
    id?: string;
    readOnly?: boolean;
    /** The current value of the text field.*/
    value: string;
    /** Value change handler.*/
    onChange?: VoidFunc<string>;
    /** Focus loss event handler (`blur`).*/
    onBlur?: (val: string) => void;
    /** Additional CSS classes applied to the textarea element.*/
    className?: string;
    /** A label displayed above the input field with animation.*/
    label?: string;
    /** Placeholder text displayed when the value is empty. */
    placeholder?: string;
    /** Flag that allows you to skip the animation once during initialization.*/
    skipAnimationOnce?: boolean;
    ariaInvalid?: boolean;
}
/**
 * Textarea component with animated label
 *
 * @param TextareaProps {@link TextareaProps}
 *
 * @example
 * ```tsx
 * function MyComponent() {
 *     const [text, setText] = useState('');
 *
 *     return (
 *         <Textarea label="Description" value={text} onChange={setText} placeholder="Enter description"/>
 *     );
 * }
 * ```
 */
export declare function Textarea({ placeholder, onChange, label, value, onBlur, skipAnimationOnce, id, readOnly, className, ref, ariaInvalid, }: TextareaProps & {
    ref?: React.Ref<HTMLTextAreaElement>;
}): React.JSX.Element;
export declare namespace Textarea {
    var displayName: string;
}
