import * as _angular_core from '@angular/core'; import { ElementRef } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; /** * Multi-line text input. * * Implements `ControlValueAccessor`. Optional `autosize` grows the * textarea with its content, capped at `maxRows` if provided. * * @example * ```html * * * ``` * * @see https://ngwr.dev/components/textarea */ type WrTextareaSize = 'sm' | 'md' | 'lg'; type WrTextareaResize = 'none' | 'vertical' | 'horizontal' | 'both'; declare class WrTextarea implements ControlValueAccessor { /** Native placeholder text. @default '' */ readonly placeholder: _angular_core.InputSignal; /** Control size — shares the `--wr-control-*` contract. @default 'md' */ readonly size: _angular_core.InputSignal; /** Visible row count. @default 3 */ readonly rows: _angular_core.InputSignalWithTransform; /** Allow user resize via the corner grip. @default true */ readonly resizable: _angular_core.InputSignalWithTransform; /** Resize direction of the corner grip (the grip icon adapts). @default 'vertical' */ readonly resize: _angular_core.InputSignal; /** Read-only state. @default false */ readonly readonly: _angular_core.InputSignalWithTransform; /** Grow the textarea to fit its content. @default false */ readonly autosize: _angular_core.InputSignalWithTransform; /** Cap autosize at this many rows. Ignored when `autosize` is false. */ readonly maxRows: _angular_core.InputSignal; /** * Disable the textarea. Also set by Angular forms via `setDisabledState`. * * @default false */ readonly disabled: _angular_core.InputSignalWithTransform; protected readonly value: _angular_core.WritableSignal; protected readonly disabledFromCva: _angular_core.WritableSignal; protected readonly focused: _angular_core.WritableSignal; protected readonly effectiveDisabled: _angular_core.Signal; protected readonly native: _angular_core.Signal>; /** Resize direction, gated by `resizable` (false → 'none'). */ protected readonly effectiveResize: _angular_core.Signal; protected readonly classes: _angular_core.Signal; /** Show the corner grip (hidden when direction is 'none' / autosize / disabled). */ protected readonly showHandle: _angular_core.Signal; private readonly platformId; private readonly isBrowser; private readonly hostEl; private onChange; private onTouched; private resizing; private resizeStartY; private resizeStartX; private resizeStartHeight; private resizeStartWidth; private resizeMinHeight; private resizeMaxWidth; constructor(); writeValue(value: string | null): void; registerOnChange(fn: (value: string) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; protected onInput(event: Event): void; protected onBlur(): void; protected startResize(event: PointerEvent): void; protected onResize(event: PointerEvent): void; protected endResize(event: PointerEvent): void; private autofit; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { WrTextarea }; export type { WrTextareaResize, WrTextareaSize };