import Tailwind from '../base/tailwind-base'; /** * @tag plus-textarea * @summary A form-associated textarea component with validation and styling. * * @csspart textarea - The native textarea element * @csspart label - The label element * @csspart caption - The caption/error message container * * @event plus-input - Emitted when the textarea value changes * @event plus-change - Emitted when the textarea value changes and loses focus * @event plus-focus - Emitted when the textarea gains focus * @event plus-blur - Emitted when the textarea loses focus * @event plus-invalid - Emitted when the textarea value is invalid * * @cssprop [--focus-ring-color=--primary-500] - Color of the focus ring * @cssprop [--error-color=--red-500] - Color used for error states */ export declare class PlusTextarea extends Tailwind { static styles: import("lit").CSSResult[]; textarea: HTMLTextAreaElement; private validationMessage; /** The textarea's name attribute. */ name: string; /** The textarea's value attribute. */ value: string; /** The textarea's placeholder text. */ placeholder: string; /** The size variant of the textarea. */ size: 'sm' | 'md' | 'lg'; /** Whether the textarea is disabled. */ disabled: boolean; /** Whether the textarea is readonly. */ readonly: boolean; /** Whether the textarea is required. */ required: boolean; /** The label for the textarea. */ label?: string; /** The minimum length of the value. */ minlength?: number; /** The maximum length of the value. */ maxlength?: number; /** Whether the textarea should automatically get focus. */ autoFocus?: boolean; /** Caption text to display below the textarea. */ caption?: string; /** Whether the textarea is in an error state. */ error: boolean; /** The error message to display (overrides default validation messages). */ errorMessage: string; /** Whether the textarea should take up full width. */ fullWidth: boolean; /** Specifies the visible number of lines in a text area. */ rows: number; /** Controls how the textarea can be resized. */ resize: 'none' | 'vertical' | 'horizontal' | 'both'; /** Specifies how the text in a text area is to be wrapped when submitted in a form. */ wrap: 'hard' | 'soft' | 'off'; /** Checks the validity of the textarea against constraints. */ checkValidity(): boolean; /** Reports the validity state to the user. */ reportValidity(): boolean; /** Sets a custom validation message. */ setCustomValidity(message: string): void; private handleBlur; private handleChange; private handleFocus; private handleInput; private handleInvalid; /** Gets the appropriate validation message. */ private getValidationMessage; /** Validates the textarea and updates state. */ private validate; render(): import("lit-html").TemplateResult<1>; } //# sourceMappingURL=textarea.d.ts.map