/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ElementRef, EventEmitter, NgZone, Renderer2, ChangeDetectorRef, Injector, AfterContentInit, AfterViewInit, OnChanges, OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { SeparatorOrientation } from '@progress/kendo-angular-common';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { TextFieldsBase } from '../text-fields-common/text-fields-base';
import { TextAreaFlow } from './models/flow';
import { TextAreaResize } from './models/resize';
import { InputRounded, InputFillMode, InputSize } from '../common/models';
import { TextAreaAdornmentsOrientation } from './models/adornments-orientation';
import { TextAreaPrefixComponent } from './textarea-prefix.component';
import { TextAreaSuffixComponent } from './textarea-suffix.component';
import * as i0 from "@angular/core";
/**
* Represents the Kendo UI TextArea component for Angular.
*
* Use this component to let users enter and edit multi-line text.
*
* @example
* ```html
*
* ```
*
* @remarks
* Supported children components are: {@link TextAreaPrefixComponent}, {@link TextAreaSuffixComponent}.
*/
export declare class TextAreaComponent extends TextFieldsBase implements ControlValueAccessor, OnInit, OnChanges, AfterViewInit, AfterContentInit, OnDestroy {
protected localizationService: LocalizationService;
protected ngZone: NgZone;
protected changeDetector: ChangeDetectorRef;
protected renderer: Renderer2;
protected injector: Injector;
hostElement: ElementRef;
/**
* @hidden
*/
focusableId: string;
hostClasses: boolean;
get flowCol(): boolean;
get flowRow(): boolean;
private _flow;
/**
* Specifies the flow direction of the TextArea sections. Use this property to set the position of adornments relative to the text area.
*/
set flow(flow: TextAreaFlow);
get flow(): TextAreaFlow;
/**
* Sets the HTML attributes of the inner focusable input element. Some attributes are required for component functionality and cannot be changed.
*/
set inputAttributes(attributes: {
[key: string]: string;
});
get inputAttributes(): {
[key: string]: string;
};
/**
* Specifies the orientation of the TextArea adornments. Use this property to set the position of adornments relative to each other.
*
*/
set adornmentsOrientation(orientation: TextAreaAdornmentsOrientation);
get adornmentsOrientation(): TextAreaAdornmentsOrientation;
/**
* Sets the visible height of the text area in lines.
*/
rows: number;
/**
* Sets the visible width of the text area in average character width.
*/
cols: number;
/**
* Sets the maximum number of characters allowed in the text area.
*/
maxlength: number;
/**
* @hidden
*/
maxResizableRows: number;
/**
* Sets the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
* @default 0
*/
tabindex: number;
/**
* @hidden
*/
set tabIndex(tabIndex: number);
get tabIndex(): number;
/**
* Sets the resize behavior of the TextArea.
*
*
* @default 'vertical'
*/
resizable: TextAreaResize;
/**
* Sets the size of the TextArea. Controls the padding of the text area element ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/textarea/appearance#size)). The default value is set by the Kendo theme.
*/
set size(size: InputSize);
get size(): InputSize;
/**
* Sets the border radius of the TextArea ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/textarea/appearance#roundness)). The default value is set by the Kendo theme.
*/
set rounded(rounded: InputRounded);
get rounded(): InputRounded;
/**
* Sets the background and border styles of the TextArea ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/textarea/appearance#fill-mode)). The default value is set by the Kendo theme.
*/
set fillMode(fillMode: InputFillMode);
get fillMode(): InputFillMode;
/**
* Shows the prefix separator in the TextArea.
* The separator is rendered only if a prefix template is declared.
*
* @default false
*/
showPrefixSeparator: boolean;
/**
* Shows the suffix separator in the TextArea.
* The separator is rendered only if a suffix template is declared.
*
* @default false
*/
showSuffixSeparator: boolean;
/**
* Fires when the TextArea is focused.
*
* Use the `onFocus` property to subscribe to this event.
*/
onFocus: EventEmitter;
/**
* Fires when the TextArea gets blurred.
*
* Use the `onBlur` property to subscribe to this event.
*/
onBlur: EventEmitter;
/**
* Fires when the value changes or the TextArea is blurred ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/textarea/events)).
*
* The event does not fire when the value changes programmatically or through form control binding.
*/
valueChange: EventEmitter;
private initialHeight;
private maxResizableHeight;
private resizeSubscription;
private resizeObserver;
private _size;
private _rounded;
private _fillMode;
private _adornmentsOrientation;
private _inputAttributes;
private parsedAttributes;
private get defaultAttributes();
private get mutableAttributes();
constructor(localizationService: LocalizationService, ngZone: NgZone, changeDetector: ChangeDetectorRef, renderer: Renderer2, injector: Injector, hostElement: ElementRef);
ngAfterContentInit(): void;
ngAfterViewInit(): void;
ngOnInit(): void;
ngOnChanges(changes: any): void;
/**
* @hidden
*/
prefix: TextAreaPrefixComponent;
/**
* @hidden
*/
suffix: TextAreaSuffixComponent;
/**
* @hidden
*/
writeValue(value: string): void;
/**
* @hidden
*/
registerOnChange(fn: () => any): void;
/**
* @hidden
*/
registerOnTouched(fn: () => any): void;
ngOnDestroy(): void;
/**
* @hidden
*/
get resizableClass(): string;
/**
* @hidden
*/
get isControlInvalid(): boolean;
/**
* @hidden
*/
get isControlRequired(): boolean;
/**
* @hidden
*/
get separatorOrientation(): SeparatorOrientation;
/**
* @hidden
*/
get isFocused(): boolean;
/**
* @hidden
*/
set isFocused(value: boolean);
/**
* @hidden
*/
handleInput: (ev: any) => void;
/**
* @hidden
*/
handleInputFocus: () => void;
/**
* Focuses the TextArea.
*/
focus(): void;
/**
* Blurs the TextArea.
*/
blur(): void;
private attachResizeObserver;
private resize;
/**
* @hidden
*/
handleFocus(): void;
/**
* @hidden
*/
handleBlur(): void;
private updateValue;
private setSelection;
private selectAll;
private handleClasses;
private handleFlow;
private setInputAttributes;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}