import { hasSlotContent, removeClassStyleAttrs, addClassStyleAttrs } from '../../common/utils';
declare const _default: import('vue').DefineComponent<{
    name: {
        type: StringConstructor;
        default: string;
    };
    type: {
        type: StringConstructor;
        default: string;
        validator: (t: unknown) => boolean;
    };
    modelValue: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    label: {
        type: StringConstructor;
        default: string;
    };
    labelVisible: {
        type: BooleanConstructor;
        default: boolean;
    };
    description: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: StringConstructor;
        default: string;
        validator: (t: unknown) => boolean;
    };
    inputClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    inputWrapperClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    rootClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    currentLength: {
        type: NumberConstructor;
        default: null;
    };
    retainWarning: {
        type: BooleanConstructor;
        default: boolean;
    };
    validate: {
        type: ObjectConstructor;
        default: null;
    };
    hidden: {
        type: BooleanConstructor;
        default: boolean;
    };
}, any, {
    isInputFocused: boolean;
    isInvalid: boolean;
    defaultLength: number;
    hasSlotContent: typeof hasSlotContent;
}, {
    isTextarea(): boolean;
    isDefaultSize(): boolean;
    iconSize(): any;
    isValidSize(): boolean;
    isValidDescriptionSize(): boolean;
    inputComponent(): "input" | "textarea";
    inputListeners(): {
        input: (event: any) => Promise<void>;
        blur: (event: any) => void;
        focus: (event: any) => void;
        focusin: (event: any) => void;
        focusout: (event: any) => void;
    };
    descriptionKey(): string;
    inputState(): string | null;
    defaultLengthCalculation(): number;
    validationProps(): {
        length: {
            description: any;
            max: any;
            warn: any;
            message: any;
            limitMaxLength: any;
        };
    };
    validationMessages(): any;
    showInputState(): any;
    inputLength(): any;
    inputLengthState(): string | null;
    shouldValidateLength(): boolean;
    shouldLimitMaxLength(): any;
    showLengthLimitValidation(): any;
    sizeModifierClass(): any;
    stateClass(): any[];
}, {
    removeClassStyleAttrs: typeof removeClassStyleAttrs;
    addClassStyleAttrs: typeof addClassStyleAttrs;
    inputClasses(): any[];
    inputWrapperClasses(): any[];
    calculateLength(value: any): number;
    inputLengthErrorMessage(): {
        message: any;
        type: string | null;
    };
    onBlur(e: any): void;
    emitClearEvents(): void;
    blur(): void;
    focus(): void;
    select(): void;
    getMessageKey(type: any, index: any): string;
    validateLength(length: any): void;
    clearInput(): void;
}, {
    props: {
        messagesClass: {
            type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            default: string;
        };
        messagesChildProps: {
            type: ObjectConstructor;
            default: () => {};
        };
        showMessages: {
            type: BooleanConstructor;
            default: boolean;
        };
        messages: {
            type: ArrayConstructor;
            default: () => never[];
            validator: (messages: any) => any;
        };
    };
    computed: {
        formattedMessages(): any;
    };
}, import('vue').ComponentOptionsMixin, ("input" | "blur" | "focus" | "focusin" | "focusout" | "clear" | "update:modelValue" | "update:length" | "update:invalid")[], "input" | "blur" | "focus" | "focusin" | "focusout" | "clear" | "update:modelValue" | "update:length" | "update:invalid", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    name: {
        type: StringConstructor;
        default: string;
    };
    type: {
        type: StringConstructor;
        default: string;
        validator: (t: unknown) => boolean;
    };
    modelValue: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    label: {
        type: StringConstructor;
        default: string;
    };
    labelVisible: {
        type: BooleanConstructor;
        default: boolean;
    };
    description: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: StringConstructor;
        default: string;
        validator: (t: unknown) => boolean;
    };
    inputClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    inputWrapperClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    rootClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    currentLength: {
        type: NumberConstructor;
        default: null;
    };
    retainWarning: {
        type: BooleanConstructor;
        default: boolean;
    };
    validate: {
        type: ObjectConstructor;
        default: null;
    };
    hidden: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & {
    onInput?: ((...args: any[]) => any) | undefined;
    onBlur?: ((...args: any[]) => any) | undefined;
    onFocus?: ((...args: any[]) => any) | undefined;
    onFocusin?: ((...args: any[]) => any) | undefined;
    onFocusout?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onClear?: ((...args: any[]) => any) | undefined;
    "onUpdate:length"?: ((...args: any[]) => any) | undefined;
    "onUpdate:invalid"?: ((...args: any[]) => any) | undefined;
}, {
    label: string;
    disabled: boolean;
    modelValue: string | number;
    name: string;
    size: string;
    type: string;
    hidden: boolean;
    validate: Record<string, any>;
    rootClass: string | unknown[] | Record<string, any>;
    labelVisible: boolean;
    description: string;
    inputClass: string | unknown[] | Record<string, any>;
    inputWrapperClass: string | unknown[] | Record<string, any>;
    currentLength: number;
    retainWarning: boolean;
}, {}>;
export default _default;
//# sourceMappingURL=input.vue.d.ts.map