import React from 'react'; import { FlintTextarea as FlintTextareaElement } from '@getufy/flint-ui/textarea/flint-textarea'; export interface FlintTextareaInputDetail { value: string; } export interface FlintTextareaChangeDetail { value: string; } /** * A Textarea component for multi-line text input. */ export interface FlintTextareaProps extends Omit, 'defaultValue'> { /** Current textarea value. */ value?: string; /** Placeholder text shown when empty. */ placeholder?: string; /** Disables the textarea and prevents interaction. */ disabled?: boolean; /** Makes the textarea read-only. */ readonly?: boolean; /** Marks the textarea as required for form validation. */ required?: boolean; /** Whether the textarea is in an error state. */ error?: boolean; /** Error message displayed below the textarea. */ errorMessage?: string; /** Help text displayed below the textarea. */ helperText?: string; /** Label text displayed above the textarea. */ label?: string; /** * Size variant of the textarea. * Allowed values: 'sm' | 'md' | 'lg' */ size?: 'sm' | 'md' | 'lg'; /** Number of visible text rows. */ rows?: number; /** Maximum number of characters allowed. */ maxlength?: number | undefined; /** Minimum number of characters required. */ minlength?: number | undefined; /** Regex pattern for validation. */ pattern?: string; /** Form field name used when submitting form data. */ name?: string; /** Browser autocomplete hint. */ autocomplete?: string; /** * Controls the resize handle. * Allowed values: 'none' | 'both' | 'horizontal' | 'vertical' | 'auto' */ resize?: 'none' | 'both' | 'horizontal' | 'vertical' | 'auto'; /** Initial value for uncontrolled usage. */ defaultValue?: string; /** Accessible label for screen readers when no visible label is provided. */ ariaLabel?: string | null; /** * Dispatched on every keystroke. Detail: `{ value: string }` * DOM event: `flint-textarea-input` */ onFlintTextareaInput?: (event: CustomEvent) => void; /** * Dispatched on blur/change. Detail: `{ value: string }` * DOM event: `flint-textarea-change` */ onFlintTextareaChange?: (event: CustomEvent) => void; } export declare const FlintTextarea: React.ForwardRefExoticComponent>;