import type { JSX } from '../../stencil-public-runtime';
import type { AdjustHeightPropType, DisabledPropType, FocusableElement, HasCounterPropType, HideLabelPropType, HideMsgPropType, HintPropType, IconsHorizontalPropType, InputTypeOnDefault, LabelWithExpertSlotPropType, MaxLengthBehaviorPropType, MsgPropType, NamePropType, PlaceholderPropType, ReadOnlyPropType, RequiredPropType, RowsPropType, ShortKeyPropType, SpellCheckPropType, Stringified, SyncValueBySelectorPropType, TextareaAPI, TextareaResizePropType, TextareaStates, TooltipAlignPropType, VariantClassNamePropType } from '../../schema';
export declare class KolTextarea implements TextareaAPI, FocusableElement {
    protected readonly host?: HTMLKolTextareaElement;
    protected readonly ctaRef: import("../../utils/element-interaction").CtaRef<HTMLTextAreaElement>;
    getValue(): Promise<string | undefined>;
    focus(): Promise<void>;
    click(): Promise<void>;
    private getFormFieldProps;
    private getTextAreaProps;
    render(): JSX.Element;
    private readonly controller;
    _accessKey?: string;
    _adjustHeight?: boolean;
    _disabled?: boolean;
    _hideMsg?: boolean;
    _hideLabel?: boolean;
    _hint?: string;
    _icons?: IconsHorizontalPropType;
    _label: LabelWithExpertSlotPropType;
    _maxLength?: number;
    _hasCounter?: boolean;
    _maxLengthBehavior?: MaxLengthBehaviorPropType;
    _msg?: Stringified<MsgPropType>;
    _name?: NamePropType;
    _on?: InputTypeOnDefault;
    _placeholder?: string;
    _readOnly?: boolean;
    _resize?: TextareaResizePropType;
    _required?: boolean;
    _rows?: RowsPropType;
    _shortKey?: ShortKeyPropType;
    _spellCheck?: SpellCheckPropType;
    _syncValueBySelector?: SyncValueBySelectorPropType;
    _tooltipAlign?: TooltipAlignPropType;
    _touched?: boolean;
    _value?: string;
    _variant?: VariantClassNamePropType;
    state: TextareaStates;
    private inputHasFocus;
    constructor();
    private showAsAlert;
    validateAccessKey(value?: string): void;
    validateAdjustHeight(value?: AdjustHeightPropType): void;
    validateDisabled(value?: DisabledPropType): void;
    validateHideMsg(value?: HideMsgPropType): void;
    validateHideLabel(value?: HideLabelPropType): void;
    validateHasCounter(value?: HasCounterPropType): void;
    validateHint(value?: HintPropType): void;
    validateIcons(value?: IconsHorizontalPropType): void;
    validateLabel(value?: LabelWithExpertSlotPropType): void;
    validateMaxLength(value?: number): void;
    validateMaxLengthBehavior(value?: MaxLengthBehaviorPropType): void;
    validateMsg(value?: Stringified<MsgPropType>): void;
    validateName(value?: string): void;
    validateOn(value?: InputTypeOnDefault): void;
    validatePlaceholder(value?: PlaceholderPropType): void;
    validateReadOnly(value?: ReadOnlyPropType): void;
    validateResize(value?: TextareaResizePropType): void;
    validateRequired(value?: RequiredPropType): void;
    validateRows(value?: RowsPropType): void;
    validateShortKey(value?: ShortKeyPropType): void;
    validateSpellCheck(value?: SpellCheckPropType): void;
    validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void;
    validateTouched(value?: boolean): void;
    validateValue(value?: string): void;
    validateVariant(value?: VariantClassNamePropType): void;
    componentDidLoad(): void;
    componentWillLoad(): void;
    private readonly onInput;
}
