/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { TextAreaBlurEvent } from './interfaces/TextAreaBlurEvent'; import { TextAreaChangeEvent } from './interfaces/TextAreaChangeEvent'; import { TextAreaFocusEvent } from './interfaces/TextAreaFocusEvent'; import { PropType } from 'vue'; /** * Represents the [Kendo UI for Vue Native TextArea component]({% slug overview_textarea %}). * * Accepts properties of type [TextAreaProps]({% slug api_inputs_textareaprops %}). * * * ```jsx * * * ``` */ declare const TextArea: import('vue').DefineComponent; ariaDescribedBy: PropType; ariaLabelledBy: PropType; autoSize: PropType; modelValue: { type: PropType; default: any; }; defaultValue: PropType; dir: PropType; disabled: PropType; readOnly: PropType; rows: PropType; id: PropType; name: PropType; validationMessage: PropType; size: { type: PropType<"small" | "medium" | "large">; validator: (value: string) => boolean; }; rounded: { type: PropType<"small" | "medium" | "large" | "full" | "none">; validator: (value: string) => boolean; }; fillMode: { type: PropType<"flat" | "solid" | "outline">; validator: (value: string) => boolean; }; required: PropType; placeholder: PropType; tabIndex: PropType; valid: { type: PropType; default: any; }; value: PropType; validityStyles: { type: PropType; default: boolean; }; iconName: PropType; inputPrefix: PropType; inputSuffix: PropType; showValidationIcon: PropType; showLoadingIcon: PropType; showClearButton: PropType; inputClass: PropType; wrapperClass: PropType; flow: { type: PropType; default: string; validator: (value: any) => any; }; resizable: { type: PropType; default: string; validator: (value: any) => any; }; inputAttributes: PropType; }>, {}, { currentValue: string | number | string[]; textAreaHeight: string; currentDir: string; }, { resizableClass(): "k-resize-none" | "k-resize-y" | "k-resize-x" | "k-resize"; rootClassName(): { [x: string]: any; [x: number]: any; 'k-input': boolean; 'k-textarea': boolean; 'k-disabled': any; 'k-invalid': boolean; 'k-required': any; 'k-loading': any; '!k-flex-col': boolean; '!k-flex-row': boolean; }; inputInnerClass(): { [x: number]: any; 'k-input-inner': boolean; '!k-resize-none': boolean; '!k-overflow-auto': boolean; 'k-flex': boolean; }; prefixRenderClass(): { 'k-input-prefix': boolean; '!k-align-items-start': boolean; 'k-input-prefix-horizontal': boolean; 'k-input-prefix-vertical': boolean; }; suffixRenderClass(): { 'k-input-suffix': boolean; '!k-align-items-start': boolean; 'k-input-suffix-horizontal': boolean; 'k-input-suffix-vertical': boolean; }; suffixIconWrapClass(): { 'k-flex-wrap': boolean; '!k-align-items-start': boolean; }; computedValue(): any; isValid(): any; }, { setValidity(): void; clearClick(event: any): void; focus(): void; emitUpdate(event: any, eventName: string, value: any): void; handleChange(event: any): void; handleInput(event: any): void; handleFocus(event: any): void; handleBlur(event: any): void; }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { input: (event: Event) => true; change: (event: TextAreaChangeEvent) => true; changemodel: (value: string | string[] | number) => true; 'update:modelValue': (value: string | string[] | number) => true; focus: (event: TextAreaFocusEvent) => true; blur: (event: TextAreaBlurEvent) => true; }, string, import('vue').PublicProps, Readonly; ariaDescribedBy: PropType; ariaLabelledBy: PropType; autoSize: PropType; modelValue: { type: PropType; default: any; }; defaultValue: PropType; dir: PropType; disabled: PropType; readOnly: PropType; rows: PropType; id: PropType; name: PropType; validationMessage: PropType; size: { type: PropType<"small" | "medium" | "large">; validator: (value: string) => boolean; }; rounded: { type: PropType<"small" | "medium" | "large" | "full" | "none">; validator: (value: string) => boolean; }; fillMode: { type: PropType<"flat" | "solid" | "outline">; validator: (value: string) => boolean; }; required: PropType; placeholder: PropType; tabIndex: PropType; valid: { type: PropType; default: any; }; value: PropType; validityStyles: { type: PropType; default: boolean; }; iconName: PropType; inputPrefix: PropType; inputSuffix: PropType; showValidationIcon: PropType; showLoadingIcon: PropType; showClearButton: PropType; inputClass: PropType; wrapperClass: PropType; flow: { type: PropType; default: string; validator: (value: any) => any; }; resizable: { type: PropType; default: string; validator: (value: any) => any; }; inputAttributes: PropType; }>> & Readonly<{ onInput?: (event: Event) => any; onBlur?: (event: TextAreaBlurEvent) => any; onChange?: (event: TextAreaChangeEvent) => any; onFocus?: (event: TextAreaFocusEvent) => any; onChangemodel?: (value: string | number | string[]) => any; "onUpdate:modelValue"?: (value: string | number | string[]) => any; }>, { flow: string; modelValue: string | number | string[]; valid: boolean; validityStyles: boolean; resizable: string; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; export { TextArea };