import type { JSX } from '../../stencil-public-runtime';
import type { AccessKeyPropType, AutoCompletePropType, DisabledPropType, FocusableElement, HasCounterPropType, HideLabelPropType, HideMsgPropType, HintPropType, IconsHorizontalPropType, InputTextAPI, InputTextStates, InputTextTypePropType, InputTypeOnDefault, InternalButtonProps, KolFocusOptions, LabelWithExpertSlotPropType, MaxLengthBehaviorPropType, MsgPropType, NamePropType, PlaceholderPropType, ReadOnlyPropType, RequiredPropType, ShortKeyPropType, SpellCheckPropType, Stringified, SuggestionsPropType, SyncValueBySelectorPropType, TooltipAlignPropType, VariantClassNamePropType } from '../../schema';
export declare class KolInputText implements InputTextAPI, FocusableElement {
    protected readonly host?: HTMLKolInputTextElement;
    protected readonly ctaRef: import("../../utils/element-interaction").CtaRef<HTMLInputElement>;
    private oldValue?;
    private readonly onBlur;
    private readonly onChange;
    private readonly onFocus;
    private readonly onInput;
    private readonly onKeyDown;
    getValue(): Promise<string | undefined>;
    focus(options?: KolFocusOptions): Promise<void>;
    click(): Promise<void>;
    selectionStart(): Promise<number | null | undefined>;
    selectionEnd(): Promise<number | null | undefined>;
    setSelectionRange(selectionStart: number, selectionEnd: number, selectionDirection?: 'forward' | 'backward' | 'none'): Promise<void>;
    setSelectionStart(selectionStart: number): Promise<void>;
    setRangeText(replacement: string, selectionStart?: number, selectionEnd?: number, selectMode?: 'select' | 'start' | 'end' | 'preserve'): Promise<void>;
    private getFormFieldProps;
    private getInputProps;
    render(): JSX.Element;
    private readonly controller;
    _accessKey?: AccessKeyPropType;
    _autoComplete?: AutoCompletePropType;
    _hasCounter?: boolean;
    _maxLengthBehavior?: MaxLengthBehaviorPropType;
    _disabled?: boolean;
    _hideMsg?: boolean;
    _hideLabel?: boolean;
    _hint?: string;
    _icons?: IconsHorizontalPropType;
    _label: LabelWithExpertSlotPropType;
    _maxLength?: number;
    _msg?: Stringified<MsgPropType>;
    _name?: NamePropType;
    _on?: InputTypeOnDefault;
    _pattern?: string;
    _placeholder?: string;
    _readOnly?: boolean;
    _required?: boolean;
    _shortKey?: ShortKeyPropType;
    _spellCheck?: SpellCheckPropType;
    _suggestions?: SuggestionsPropType;
    _smartButton?: Stringified<InternalButtonProps>;
    _syncValueBySelector?: SyncValueBySelectorPropType;
    _tooltipAlign?: TooltipAlignPropType;
    _touched?: boolean;
    _type?: InputTextTypePropType;
    _value?: string;
    _variant?: VariantClassNamePropType;
    state: InputTextStates;
    private inputHasFocus;
    constructor();
    private showAsAlert;
    validateAccessKey(value?: AccessKeyPropType): void;
    validateAutoComplete(value?: AutoCompletePropType): void;
    validateMaxLengthBehavior(value?: MaxLengthBehaviorPropType): 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;
    validateMsg(value?: Stringified<MsgPropType>): void;
    validateName(value?: string): void;
    validateOn(value?: InputTypeOnDefault): void;
    validatePattern(value?: string): void;
    validatePlaceholder(value?: PlaceholderPropType): void;
    validateReadOnly(value?: ReadOnlyPropType): void;
    validateRequired(value?: RequiredPropType): void;
    validateShortKey(value?: ShortKeyPropType): void;
    validateSpellCheck(value?: SpellCheckPropType): void;
    validateSuggestions(value?: SuggestionsPropType): void;
    validateSmartButton(value?: InternalButtonProps | string): void;
    validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void;
    validateTouched(value?: boolean): void;
    validateType(value?: InputTextTypePropType): void;
    validateValue(value?: string): void;
    validateVariant(value?: VariantClassNamePropType): void;
    componentWillLoad(): void;
}
