import type { App } from 'vue';
import type { ArcoOptions } from '../_utils/types';
import _Input from './input';
import _InputSearch from './input-search';
import _InputPassword from './input-password';
import _InputGroup from './input-group';
declare const Input: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        modelValue: StringConstructor;
        defaultValue: {
            type: StringConstructor;
            default: string;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        readonly: {
            type: BooleanConstructor;
            default: boolean;
        };
        error: {
            type: BooleanConstructor;
            default: boolean;
        };
        placeholder: StringConstructor;
        maxLength: {
            type: import("vue").PropType<number | {
                length: number;
                errorOnly?: boolean | undefined;
            }>;
            default: number;
        };
        showWordLimit: {
            type: BooleanConstructor;
            default: boolean;
        };
        wordLength: {
            type: import("vue").PropType<(value: string) => number>;
        };
        wordSlice: {
            type: import("vue").PropType<(value: string, maxLength: number) => string>;
        };
        inputAttrs: {
            type: ObjectConstructor;
        };
        type: {
            type: import("vue").PropType<"text" | "password">;
            default: string;
        };
        prepend: StringConstructor;
        append: StringConstructor;
    }>> & Readonly<{
        onClear?: ((ev: MouseEvent) => any) | undefined;
        onChange?: ((value: string, ev: Event) => any) | undefined;
        onBlur?: ((ev: FocusEvent) => any) | undefined;
        onFocus?: ((ev: FocusEvent) => any) | undefined;
        onInput?: ((value: string, ev: Event) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string) => any) | undefined;
        onPressEnter?: ((ev: KeyboardEvent) => any) | undefined;
    }>, {
        inputRef: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
        render: () => import("vue/jsx-runtime").JSX.Element;
    }, {}, {}, {
        focus(): void;
        blur(): void;
    }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        'update:modelValue': (value: string) => true;
        input: (value: string, ev: Event) => true;
        change: (value: string, ev: Event) => true;
        pressEnter: (ev: KeyboardEvent) => true;
        clear: (ev: MouseEvent) => true;
        focus: (ev: FocusEvent) => true;
        blur: (ev: FocusEvent) => true;
    }, import("vue").PublicProps, {
        type: "text" | "password";
        disabled: boolean;
        readonly: boolean;
        error: boolean;
        allowClear: boolean;
        defaultValue: string;
        maxLength: number | {
            length: number;
            errorOnly?: boolean | undefined;
        };
        showWordLimit: boolean;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        modelValue: StringConstructor;
        defaultValue: {
            type: StringConstructor;
            default: string;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        readonly: {
            type: BooleanConstructor;
            default: boolean;
        };
        error: {
            type: BooleanConstructor;
            default: boolean;
        };
        placeholder: StringConstructor;
        maxLength: {
            type: import("vue").PropType<number | {
                length: number;
                errorOnly?: boolean | undefined;
            }>;
            default: number;
        };
        showWordLimit: {
            type: BooleanConstructor;
            default: boolean;
        };
        wordLength: {
            type: import("vue").PropType<(value: string) => number>;
        };
        wordSlice: {
            type: import("vue").PropType<(value: string, maxLength: number) => string>;
        };
        inputAttrs: {
            type: ObjectConstructor;
        };
        type: {
            type: import("vue").PropType<"text" | "password">;
            default: string;
        };
        prepend: StringConstructor;
        append: StringConstructor;
    }>> & Readonly<{
        onClear?: ((ev: MouseEvent) => any) | undefined;
        onChange?: ((value: string, ev: Event) => any) | undefined;
        onBlur?: ((ev: FocusEvent) => any) | undefined;
        onFocus?: ((ev: FocusEvent) => any) | undefined;
        onInput?: ((value: string, ev: Event) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string) => any) | undefined;
        onPressEnter?: ((ev: KeyboardEvent) => any) | undefined;
    }>, {
        inputRef: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
        render: () => import("vue/jsx-runtime").JSX.Element;
    }, {}, {}, {
        focus(): void;
        blur(): void;
    }, {
        type: "text" | "password";
        disabled: boolean;
        readonly: boolean;
        error: boolean;
        allowClear: boolean;
        defaultValue: string;
        maxLength: number | {
            length: number;
            errorOnly?: boolean | undefined;
        };
        showWordLimit: boolean;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    modelValue: StringConstructor;
    defaultValue: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
    };
    allowClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    error: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: StringConstructor;
    maxLength: {
        type: import("vue").PropType<number | {
            length: number;
            errorOnly?: boolean | undefined;
        }>;
        default: number;
    };
    showWordLimit: {
        type: BooleanConstructor;
        default: boolean;
    };
    wordLength: {
        type: import("vue").PropType<(value: string) => number>;
    };
    wordSlice: {
        type: import("vue").PropType<(value: string, maxLength: number) => string>;
    };
    inputAttrs: {
        type: ObjectConstructor;
    };
    type: {
        type: import("vue").PropType<"text" | "password">;
        default: string;
    };
    prepend: StringConstructor;
    append: StringConstructor;
}>> & Readonly<{
    onClear?: ((ev: MouseEvent) => any) | undefined;
    onChange?: ((value: string, ev: Event) => any) | undefined;
    onBlur?: ((ev: FocusEvent) => any) | undefined;
    onFocus?: ((ev: FocusEvent) => any) | undefined;
    onInput?: ((value: string, ev: Event) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    onPressEnter?: ((ev: KeyboardEvent) => any) | undefined;
}>, {
    inputRef: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
    render: () => import("vue/jsx-runtime").JSX.Element;
}, {}, {}, {
    focus(): void;
    blur(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:modelValue': (value: string) => true;
    input: (value: string, ev: Event) => true;
    change: (value: string, ev: Event) => true;
    pressEnter: (ev: KeyboardEvent) => true;
    clear: (ev: MouseEvent) => true;
    focus: (ev: FocusEvent) => true;
    blur: (ev: FocusEvent) => true;
}, string, {
    type: "text" | "password";
    disabled: boolean;
    readonly: boolean;
    error: boolean;
    allowClear: boolean;
    defaultValue: string;
    maxLength: number | {
        length: number;
        errorOnly?: boolean | undefined;
    };
    showWordLimit: boolean;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    Search: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        searchButton: {
            type: BooleanConstructor;
            default: boolean;
        };
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        buttonText: {
            type: StringConstructor;
        };
        buttonProps: {
            type: import("vue").PropType<import("..").ButtonProps>;
        };
    }>, {
        inputRef: import("vue").Ref<any, any>;
        render: () => import("vue/jsx-runtime").JSX.Element;
    }, {}, {}, {
        focus(): void;
        blur(): void;
    }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        search: (value: string, ev: MouseEvent) => true;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        searchButton: {
            type: BooleanConstructor;
            default: boolean;
        };
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        buttonText: {
            type: StringConstructor;
        };
        buttonProps: {
            type: import("vue").PropType<import("..").ButtonProps>;
        };
    }>> & Readonly<{
        onSearch?: ((value: string, ev: MouseEvent) => any) | undefined;
    }>, {
        disabled: boolean;
        loading: boolean;
        searchButton: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    Password: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        visibility: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultVisibility: {
            type: BooleanConstructor;
            default: boolean;
        };
        invisibleButton: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, {
        inputRef: import("vue").Ref<any, any>;
        mergedVisible: import("vue").ComputedRef<boolean>;
        handleInvisible: () => void;
    }, {}, {}, {
        focus(): void;
        blur(): void;
    }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("visibility-change" | "update:visibility")[], "visibility-change" | "update:visibility", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        visibility: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultVisibility: {
            type: BooleanConstructor;
            default: boolean;
        };
        invisibleButton: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        "onVisibility-change"?: ((...args: any[]) => any) | undefined;
        "onUpdate:visibility"?: ((...args: any[]) => any) | undefined;
    }>, {
        visibility: boolean;
        defaultVisibility: boolean;
        invisibleButton: boolean;
    }, {}, {
        IconEye: any;
        IconEyeInvisible: any;
        AIconHover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            prefix: {
                type: StringConstructor;
            };
            size: {
                type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
                default: string;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            prefixCls: string;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            prefix: {
                type: StringConstructor;
            };
            size: {
                type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
                default: string;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, {
            size: "mini" | "small" | "medium" | "large";
            disabled: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        AInput: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            modelValue: StringConstructor;
            defaultValue: {
                type: StringConstructor;
                default: string;
            };
            size: {
                type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
            };
            allowClear: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            readonly: {
                type: BooleanConstructor;
                default: boolean;
            };
            error: {
                type: BooleanConstructor;
                default: boolean;
            };
            placeholder: StringConstructor;
            maxLength: {
                type: import("vue").PropType<number | {
                    length: number;
                    errorOnly?: boolean | undefined;
                }>;
                default: number;
            };
            showWordLimit: {
                type: BooleanConstructor;
                default: boolean;
            };
            wordLength: {
                type: import("vue").PropType<(value: string) => number>;
            };
            wordSlice: {
                type: import("vue").PropType<(value: string, maxLength: number) => string>;
            };
            inputAttrs: {
                type: ObjectConstructor;
            };
            type: {
                type: import("vue").PropType<"text" | "password">;
                default: string;
            };
            prepend: StringConstructor;
            append: StringConstructor;
        }>, {
            inputRef: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
            render: () => import("vue/jsx-runtime").JSX.Element;
        }, {}, {}, {
            focus(): void;
            blur(): void;
        }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            'update:modelValue': (value: string) => true;
            input: (value: string, ev: Event) => true;
            change: (value: string, ev: Event) => true;
            pressEnter: (ev: KeyboardEvent) => true;
            clear: (ev: MouseEvent) => true;
            focus: (ev: FocusEvent) => true;
            blur: (ev: FocusEvent) => true;
        }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            modelValue: StringConstructor;
            defaultValue: {
                type: StringConstructor;
                default: string;
            };
            size: {
                type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
            };
            allowClear: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            readonly: {
                type: BooleanConstructor;
                default: boolean;
            };
            error: {
                type: BooleanConstructor;
                default: boolean;
            };
            placeholder: StringConstructor;
            maxLength: {
                type: import("vue").PropType<number | {
                    length: number;
                    errorOnly?: boolean | undefined;
                }>;
                default: number;
            };
            showWordLimit: {
                type: BooleanConstructor;
                default: boolean;
            };
            wordLength: {
                type: import("vue").PropType<(value: string) => number>;
            };
            wordSlice: {
                type: import("vue").PropType<(value: string, maxLength: number) => string>;
            };
            inputAttrs: {
                type: ObjectConstructor;
            };
            type: {
                type: import("vue").PropType<"text" | "password">;
                default: string;
            };
            prepend: StringConstructor;
            append: StringConstructor;
        }>> & Readonly<{
            onClear?: ((ev: MouseEvent) => any) | undefined;
            onChange?: ((value: string, ev: Event) => any) | undefined;
            onBlur?: ((ev: FocusEvent) => any) | undefined;
            onFocus?: ((ev: FocusEvent) => any) | undefined;
            onInput?: ((value: string, ev: Event) => any) | undefined;
            "onUpdate:modelValue"?: ((value: string) => any) | undefined;
            onPressEnter?: ((ev: KeyboardEvent) => any) | undefined;
        }>, {
            type: "text" | "password";
            disabled: boolean;
            readonly: boolean;
            error: boolean;
            allowClear: boolean;
            defaultValue: string;
            maxLength: number | {
                length: number;
                errorOnly?: boolean | undefined;
            };
            showWordLimit: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    Group: import("vue").DefineComponent<{}, {
        prefixCls: string;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    install: (app: App, options?: ArcoOptions | undefined) => void;
};
export declare type InputInstance = InstanceType<typeof _Input>;
export declare type InputSearchInstance = InstanceType<typeof _InputSearch>;
export declare type InputPasswordInstance = InstanceType<typeof _InputPassword>;
export declare type InputGroupInstance = InstanceType<typeof _InputGroup>;
export { _InputSearch as InputSearch, _InputPassword as InputPassword, _InputGroup as InputGroup, };
export default Input;
