import { CardBackgroundProps } from '../CardBackground/CardBackground'; export type TextareaInputState = "default" | "success" | "error" | "warning"; export interface TextareaToolbarRenderProps { state: TextareaInputState; disabled: boolean; } export interface TextareaInputProps extends Omit, "onChange"> { value?: string; onChange?: (event: React.ChangeEvent) => void; placeholder?: string; disabled?: boolean; state?: TextareaInputState; label?: string; required?: boolean; supportingText?: React.ReactNode | (() => React.ReactNode); showSupportingText?: boolean; cardBackground?: Omit; toolbar?: React.ReactNode | ((props: TextareaToolbarRenderProps) => React.ReactNode); autoResize?: boolean; userResize?: boolean; minRows?: number; maxRows?: number; rows?: number; className?: string; } /** @deprecated Use TextareaInputState instead */ export type TextAreaVariant = TextareaInputState; export interface LegacyTextAreaProps { /** @deprecated Use 'state' instead */ variant?: TextareaInputState; /** @deprecated Use 'supportingText' + 'showSupportingText' instead */ helperComponent?: React.ReactNode | string; /** * @deprecated LeftSlot/RightSlot were removed without replacement in the * TextareaInput redesign. Detected usage is ignored with a console warning. */ children?: React.ReactNode | (() => React.ReactNode); } /** @internal — allows legacy props during migration */ export type TextareaInputPropsWithLegacy = TextareaInputProps & Partial;