import * as React from 'react';
import { type FieldProps } from '../_shared/index.js';
import { type InputState } from '../Input/index.js';
/** Visual state of the textarea (alias for InputState) */
export type TextareaState = InputState;
/**
* Textarea renders a textarea control. Pass field props (label, error,
* description, etc.) to automatically wrap in a Field. Without field props,
* renders a bare textarea with zero overhead.
*
* @example
* ```tsx
* // Bare textarea
*
*
* // With field props — auto-wraps in Field
*
*
* // With icons
* } placeholder="Message..." />
* ```
*/
interface TextareaControlProps extends React.TextareaHTMLAttributes {
/** Visual state of the textarea (default, success, destructive) */
state?: TextareaState;
/** Icon displayed at the start (inline-start) of the textarea - respects RTL */
startIcon?: React.ReactNode;
/** Icon displayed at the end (inline-end) of the textarea - respects RTL */
endIcon?: React.ReactNode;
/** Whether to show an outline/border variant */
hasOutline?: boolean;
}
export interface TextareaProps extends TextareaControlProps, FieldProps {
}
declare const Textarea: React.ForwardRefExoticComponent>;
export { Textarea };