import { TextareaHTMLAttributes, ReactNode } from 'react';
/**
 * TextArea size variants
 */
type TextAreaSize = 'small' | 'medium' | 'large' | 'extraLarge';
/**
 * TextArea visual state
 */
type TextAreaState = 'default' | 'hovered' | 'focused' | 'invalid' | 'disabled';
/**
 * TextArea component props interface
 */
export type TextAreaProps = {
    /** Label text to display above the textarea */
    label?: ReactNode;
    /** Size variant of the textarea */
    size?: TextAreaSize;
    /** Visual state of the textarea */
    state?: TextAreaState;
    /** Error message to display */
    errorMessage?: string;
    /** Helper text to display */
    helperMessage?: string;
    /** Additional CSS classes */
    className?: string;
    /** Label CSS classes */
    labelClassName?: string;
    /** Show character count when maxLength is provided */
    showCharacterCount?: boolean;
    /** Enable auto-resize based on content */
    autoResize?: boolean;
    /** Minimum height when autoResize is enabled (default: 96px) */
    minHeight?: number;
} & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'>;
/**
 * TextArea component for Analytica Ensino platforms
 *
 * A textarea component with essential states, sizes and themes.
 * Uses exact design specifications with 288px width, 96px height, and specific
 * color values. Includes Text component integration for consistent typography.
 *
 * @example
 * ```tsx
 * // Basic textarea
 * <TextArea label="Description" placeholder="Enter description..." />
 *
 * // Small size
 * <TextArea size="small" label="Comment" />
 *
 * // Invalid state
 * <TextArea state="invalid" label="Required field" errorMessage="This field is required" />
 *
 * // Disabled state
 * <TextArea disabled label="Read-only field" />
 *
 * // Auto-resize textarea
 * <TextArea autoResize minHeight={200} placeholder="Grows with content..." />
 * ```
 */
declare const TextArea: import("react").ForwardRefExoticComponent<{
    /** Label text to display above the textarea */
    label?: ReactNode;
    /** Size variant of the textarea */
    size?: TextAreaSize;
    /** Visual state of the textarea */
    state?: TextAreaState;
    /** Error message to display */
    errorMessage?: string;
    /** Helper text to display */
    helperMessage?: string;
    /** Additional CSS classes */
    className?: string;
    /** Label CSS classes */
    labelClassName?: string;
    /** Show character count when maxLength is provided */
    showCharacterCount?: boolean;
    /** Enable auto-resize based on content */
    autoResize?: boolean;
    /** Minimum height when autoResize is enabled (default: 96px) */
    minHeight?: number;
} & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "size"> & import("react").RefAttributes<HTMLTextAreaElement>>;
export default TextArea;
//# sourceMappingURL=TextArea.d.ts.map