import { FormControl, FormGroup } from '@angular/forms'; import * as i0 from "@angular/core"; /** Possible textarea style variants */ export type textareaVariantProps = 'primary' | 'secondary' | 'tertiary' | 'accent' | 'info' | 'success' | 'warning' | 'error' | null | undefined; /** Possible textarea size variants */ export type textareaSizeProps = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | null | undefined; /** Configuration object for textarea styling */ export type textareaProps = { variant?: textareaVariantProps; size?: textareaSizeProps; }; /** * A customizable textarea component with form integration and validation features * * @remarks * Supports character counting, debounced input, and automatic validation styling. * Implements ControlValueAccessor for Angular form compatibility. * * @example * ```html * * * ``` * * @example * ```html * * * ``` */ export declare class TextareaComponent { /** * Textarea style variant * @defaultValue 'secondary' */ variant: import("@angular/core").InputSignal; /** * Textarea size variant * @defaultValue 'md' */ size: import("@angular/core").InputSignal; /** * Whether to use ghost (transparent) styling * @defaultValue false */ ghost: import("@angular/core").InputSignal; /** * Label displayed above the textarea */ label: import("@angular/core").InputSignal; /** * Whether to show optional indicator * @defaultValue false */ showOptional: import("@angular/core").InputSignal; /** * Optional indicator text (translation key or literal) * @defaultValue 'sdk.formFields.optional' */ optionalText: import("@angular/core").InputSignal; /** * HTML name attribute for the textarea */ name: import("@angular/core").InputSignal; /** * Placeholder text when empty */ placeholder: import("@angular/core").InputSignal; /** * Number of visible text rows * @defaultValue 3 */ rows: import("@angular/core").InputSignal; /** * Whether the textarea is readonly * @defaultValue false */ readonly: import("@angular/core").InputSignal; /** * Whether the textarea is disabled * @defaultValue false */ disabled: import("@angular/core").ModelSignal; /** * Event emitted on textarea blur */ blurred: import("@angular/core").OutputEmitterRef; /** @internal */ private readonly blurTrigger; /** * Two-way bindable textarea value */ value: import("@angular/core").ModelSignal; /** * Maximum allowed character count * @defaultValue 0 (unlimited) */ maxCharacters: import("@angular/core").InputSignal; /** * Whether current value exceeds maxCharacters * @internal */ invalidMaxCharacters: import("@angular/core").Signal; /** * Parent form group for reactive forms */ parentForm: import("@angular/core").InputSignal | null>; /** * Form control name for reactive forms */ formControlName: import("@angular/core").InputSignal; /** * @internal * Gets associated form control */ get formField(): FormControl | null; /** @internal */ private onControlChange; /** @internal */ private onControlTouch; /** * Stop event propagation for activation events * @defaultValue false */ stopPropagation: import("@angular/core").InputSignal; /** * Event emitted on Enter keydown */ keyDownEnter: import("@angular/core").OutputEmitterRef; /** * Event emitted on activation (Enter) */ triggered: import("@angular/core").OutputEmitterRef; /** * Debounce time in milliseconds for valueDebounced output * @defaultValue 500 */ debounceTime: import("@angular/core").InputSignal; /** * Event emitted after debounce time when value changes */ valueDebounced: import("@angular/core").OutputEmitterRef; /** @internal */ private readonly debounceAction$; /** @internal */ private readonly value$; /** @internal */ private readonly destroyRef; /** @internal */ private readonly counterBarRef; /** @internal */ private readonly counterHeightPx; /** @internal */ private readonly counterObserver; constructor(); /** * @internal * Computed base textarea classes */ componentClass: import("@angular/core").Signal; /** * @internal * Computed error state classes */ errorClass: import("@angular/core").Signal; /** * @internal * Computed success state classes */ successClass: import("@angular/core").Signal; /** * @internal * Computed character counter error classes */ errorClassMaxCharacters: import("@angular/core").Signal; /** * @internal * Wrapper classes for textarea layout */ wrapperClass: import("@angular/core").Signal; /** * @internal * Wrapper height to accommodate counter */ wrapperHeight: import("@angular/core").Signal; /** * @internal * Background bar behind the counter */ counterBarClass: import("@angular/core").Signal; writeValue(obj: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; /** * @internal * Handles input changes */ handleChange(): void; /** * @internal * Handles click activation */ handleClick(event: MouseEvent): void; /** * @internal * Handles Enter key press */ handleEnter(event: Event): void; /** * @internal * Handles blur event */ handleBlur(): void; /** @internal */ private readonly formControl; /** @internal */ private readonly formControl$; /** @internal */ private readonly statusChanges$; /** @internal */ private readonly stateChanges$; /** @internal */ private readonly statusSignal; /** @internal */ private readonly stateSignal; /** * @internal * Computed validation classes based on form state */ validationClass: import("@angular/core").Signal; /** * @internal * Sets up debounce mechanism for value changes */ private setupDebounce; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }