import type { Generic } from 'adopted-style-sheets';
import type { MsgPropType, PropAccessKey, PropDisabled, PropHasCounter, PropHideError, PropHideLabel, PropId, PropLabelWithExpertSlot, PropMsg, PropName, PropReadOnly, PropRequired, PropShortKey, PropSuggestions, PropSyncValueBySelector, PropTouched } from '../props';
import type { InputTextType, InputTypeOnDefault, InputTypeOnOff, KoliBriHorizontalIcons, Stringified, W3CInputValue } from '../types';
import type { ButtonProps } from './button';
type RequiredProps = PropLabelWithExpertSlot;
type OptionalProps = {
    alert: boolean;
    autoComplete: InputTypeOnOff;
    error: string;
    hint: string;
    icons: Stringified<KoliBriHorizontalIcons>;
    maxLength: number;
    on: InputTypeOnDefault;
    pattern: string;
    placeholder: string;
    smartButton: Stringified<ButtonProps>;
    tabIndex: number;
    type: InputTextType;
    value: string;
    msg: Stringified<MsgPropType>;
} & PropAccessKey & PropDisabled & PropHasCounter & PropHideError & PropHideLabel & PropId & PropName & PropReadOnly & PropRequired & PropShortKey & PropSuggestions & PropSyncValueBySelector & PropTouched;
type RequiredStates = {
    autoComplete: InputTypeOnOff;
    hasValue: boolean;
    suggestions: W3CInputValue[];
    type: InputTextType;
} & PropId & PropHideError & PropLabelWithExpertSlot;
type OptionalStates = {
    alert: boolean;
    currentLength: number;
    hint: string;
    icons: KoliBriHorizontalIcons;
    maxLength: number;
    on: InputTypeOnDefault;
    pattern: string;
    placeholder: string;
    smartButton: ButtonProps;
    tabIndex: number;
    value: string;
} & PropAccessKey & PropDisabled & PropHasCounter & PropHideLabel & PropMsg & PropName & PropReadOnly & PropRequired & PropShortKey & PropTouched;
export type InputTextProps = Generic.Element.Members<RequiredProps, OptionalProps>;
export type InputTextStates = Generic.Element.Members<RequiredStates, OptionalStates>;
export type InputTextWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;
export type InputTextAPI = Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates>;
export {};
