import { InputFocusOptions } from '@aplus-frontend/antdv/es/vc-input/utils/commonUtils';
import { ApFieldTextProps } from '../interface';
import { CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, DefineComponent } from 'vue';
import { SizeType } from '@aplus-frontend/antdv/es/button';
import { CompositionEventHandler, FocusEventHandler, ChangeEventHandler, KeyboardEventHandler, MouseEventHandler } from '@aplus-frontend/antdv/es/_util/EventInterface';
import { ShowCountProps } from '@aplus-frontend/antdv/es/vc-input/inputProps';
import { VueTypeValidableDef } from '../../../node_modules/vue-types';
import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
import { FieldMode } from '..';
type ApFieldTextSlots = {
    addonAfter?: any;
    addonBefore?: any;
    prefix?: any;
    suffix?: any;
    clearIcon?: any;
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<ApFieldTextSlots> & ApFieldTextSlots;
    refs: {
        inputRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
            variant: {
                type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                default: "filled" | "outlined" | "borderless" | "underlined";
            };
            size: {
                type: PropType<SizeType>;
            };
            value: {
                type: PropType<string | number>;
                default: any;
            };
            name: StringConstructor;
            type: {
                type: PropType<"number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel">;
                default: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
            };
            onCompositionend: PropType<CompositionEventHandler>;
            onCompositionstart: PropType<CompositionEventHandler>;
            onFocus: PropType<FocusEventHandler>;
            onBlur: PropType<FocusEventHandler>;
            onChange: PropType<ChangeEventHandler>;
            onInput: PropType<ChangeEventHandler>;
            onKeydown: PropType<KeyboardEventHandler>;
            onKeyup: PropType<KeyboardEventHandler>;
            onMousedown: {
                type: PropType<MouseEventHandler>;
                default: any;
            };
            focused: {
                type: BooleanConstructor;
                default: any;
            };
            hidden: {
                type: BooleanConstructor;
                default: any;
            };
            disabled: {
                type: BooleanConstructor;
                default: any;
            };
            prefixCls: StringConstructor;
            id: StringConstructor;
            readonly: {
                type: BooleanConstructor;
                default: any;
            };
            autofocus: {
                type: BooleanConstructor;
                default: any;
            };
            autocomplete: StringConstructor;
            placeholder: {
                type: PropType<string | number>;
            };
            lazy: {
                type: BooleanConstructor;
                default: boolean;
            };
            maxlength: NumberConstructor;
            loading: {
                type: BooleanConstructor;
                default: any;
            };
            bordered: {
                type: BooleanConstructor;
                default: any;
            };
            showCount: {
                type: PropType<boolean | ShowCountProps>;
            };
            htmlSize: NumberConstructor;
            onPressEnter: PropType<KeyboardEventHandler>;
            onMouseUp: {
                type: PropType<MouseEventHandler>;
                default: any;
            };
            onRawInput: PropType<ChangeEventHandler>;
            'onUpdate:value': PropType<(val: string) => void>;
            valueModifiers: ObjectConstructor;
            status: PropType<"" | "error" | "warning">;
            defaultValue: {
                type: PropType<string | number>;
                default: any;
            };
            inputElement: VueTypeValidableDef<any>;
            triggerFocus: PropType<() => void>;
            handleReset: PropType<MouseEventHandler>;
            addonBefore: VueTypeValidableDef<any>;
            addonAfter: VueTypeValidableDef<any>;
            prefix: VueTypeValidableDef<any>;
            suffix: VueTypeValidableDef<any>;
            clearIcon: VueTypeValidableDef<any>;
            allowClear: {
                type: BooleanConstructor;
                default: any;
            };
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
            value: string | number;
            type: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
            onMousedown: MouseEventHandler;
            focused: boolean;
            hidden: boolean;
            disabled: boolean;
            readonly: boolean;
            autofocus: boolean;
            variant: "filled" | "outlined" | "borderless" | "underlined";
            lazy: boolean;
            loading: boolean;
            bordered: boolean;
            onMouseUp: MouseEventHandler;
            defaultValue: string | number;
            allowClear: boolean;
        }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly< ExtractPropTypes<{
            variant: {
                type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                default: "filled" | "outlined" | "borderless" | "underlined";
            };
            size: {
                type: PropType<SizeType>;
            };
            value: {
                type: PropType<string | number>;
                default: any;
            };
            name: StringConstructor;
            type: {
                type: PropType<"number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel">;
                default: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
            };
            onCompositionend: PropType<CompositionEventHandler>;
            onCompositionstart: PropType<CompositionEventHandler>;
            onFocus: PropType<FocusEventHandler>;
            onBlur: PropType<FocusEventHandler>;
            onChange: PropType<ChangeEventHandler>;
            onInput: PropType<ChangeEventHandler>;
            onKeydown: PropType<KeyboardEventHandler>;
            onKeyup: PropType<KeyboardEventHandler>;
            onMousedown: {
                type: PropType<MouseEventHandler>;
                default: any;
            };
            focused: {
                type: BooleanConstructor;
                default: any;
            };
            hidden: {
                type: BooleanConstructor;
                default: any;
            };
            disabled: {
                type: BooleanConstructor;
                default: any;
            };
            prefixCls: StringConstructor;
            id: StringConstructor;
            readonly: {
                type: BooleanConstructor;
                default: any;
            };
            autofocus: {
                type: BooleanConstructor;
                default: any;
            };
            autocomplete: StringConstructor;
            placeholder: {
                type: PropType<string | number>;
            };
            lazy: {
                type: BooleanConstructor;
                default: boolean;
            };
            maxlength: NumberConstructor;
            loading: {
                type: BooleanConstructor;
                default: any;
            };
            bordered: {
                type: BooleanConstructor;
                default: any;
            };
            showCount: {
                type: PropType<boolean | ShowCountProps>;
            };
            htmlSize: NumberConstructor;
            onPressEnter: PropType<KeyboardEventHandler>;
            onMouseUp: {
                type: PropType<MouseEventHandler>;
                default: any;
            };
            onRawInput: PropType<ChangeEventHandler>;
            'onUpdate:value': PropType<(val: string) => void>;
            valueModifiers: ObjectConstructor;
            status: PropType<"" | "error" | "warning">;
            defaultValue: {
                type: PropType<string | number>;
                default: any;
            };
            inputElement: VueTypeValidableDef<any>;
            triggerFocus: PropType<() => void>;
            handleReset: PropType<MouseEventHandler>;
            addonBefore: VueTypeValidableDef<any>;
            addonAfter: VueTypeValidableDef<any>;
            prefix: VueTypeValidableDef<any>;
            suffix: VueTypeValidableDef<any>;
            clearIcon: VueTypeValidableDef<any>;
            allowClear: {
                type: BooleanConstructor;
                default: any;
            };
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
            value: string | number;
            type: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
            onMousedown: MouseEventHandler;
            focused: boolean;
            hidden: boolean;
            disabled: boolean;
            readonly: boolean;
            autofocus: boolean;
            variant: "filled" | "outlined" | "borderless" | "underlined";
            lazy: boolean;
            loading: boolean;
            bordered: boolean;
            onMouseUp: MouseEventHandler;
            defaultValue: string | number;
            allowClear: boolean;
        }> | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApFieldTextProps, {
    focus: (options?: InputFocusOptions) => void;
    blur: () => void;
    input: any;
    setSelectionRange: (start: number, end: number, direction?: "forward" | "backward" | "none") => void;
    select: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:value": (...args: any[]) => void;
}, string, PublicProps, Readonly<ApFieldTextProps> & Readonly<{
    "onUpdate:value"?: ((...args: any[]) => any) | undefined;
}>, {
    type: "number" | "reset" | "submit" | "button" | "search" | "time" | "month" | "date" | "week" | "hidden" | "checkbox" | "radio" | "color" | "text" | "range" | "image" | "url" | "email" | "datetime-local" | "file" | "password" | "tel";
    mode: FieldMode;
    disabled: boolean;
    lazy: boolean;
    bordered: boolean;
    allowClear: boolean;
    emptyText: string;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    inputRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
        variant: {
            type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
            default: "filled" | "outlined" | "borderless" | "underlined";
        };
        size: {
            type: PropType<SizeType>;
        };
        value: {
            type: PropType<string | number>;
            default: any;
        };
        name: StringConstructor;
        type: {
            type: PropType<"number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel">;
            default: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
        };
        onCompositionend: PropType<CompositionEventHandler>;
        onCompositionstart: PropType<CompositionEventHandler>;
        onFocus: PropType<FocusEventHandler>;
        onBlur: PropType<FocusEventHandler>;
        onChange: PropType<ChangeEventHandler>;
        onInput: PropType<ChangeEventHandler>;
        onKeydown: PropType<KeyboardEventHandler>;
        onKeyup: PropType<KeyboardEventHandler>;
        onMousedown: {
            type: PropType<MouseEventHandler>;
            default: any;
        };
        focused: {
            type: BooleanConstructor;
            default: any;
        };
        hidden: {
            type: BooleanConstructor;
            default: any;
        };
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        prefixCls: StringConstructor;
        id: StringConstructor;
        readonly: {
            type: BooleanConstructor;
            default: any;
        };
        autofocus: {
            type: BooleanConstructor;
            default: any;
        };
        autocomplete: StringConstructor;
        placeholder: {
            type: PropType<string | number>;
        };
        lazy: {
            type: BooleanConstructor;
            default: boolean;
        };
        maxlength: NumberConstructor;
        loading: {
            type: BooleanConstructor;
            default: any;
        };
        bordered: {
            type: BooleanConstructor;
            default: any;
        };
        showCount: {
            type: PropType<boolean | ShowCountProps>;
        };
        htmlSize: NumberConstructor;
        onPressEnter: PropType<KeyboardEventHandler>;
        onMouseUp: {
            type: PropType<MouseEventHandler>;
            default: any;
        };
        onRawInput: PropType<ChangeEventHandler>;
        'onUpdate:value': PropType<(val: string) => void>;
        valueModifiers: ObjectConstructor;
        status: PropType<"" | "error" | "warning">;
        defaultValue: {
            type: PropType<string | number>;
            default: any;
        };
        inputElement: VueTypeValidableDef<any>;
        triggerFocus: PropType<() => void>;
        handleReset: PropType<MouseEventHandler>;
        addonBefore: VueTypeValidableDef<any>;
        addonAfter: VueTypeValidableDef<any>;
        prefix: VueTypeValidableDef<any>;
        suffix: VueTypeValidableDef<any>;
        clearIcon: VueTypeValidableDef<any>;
        allowClear: {
            type: BooleanConstructor;
            default: any;
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        value: string | number;
        type: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
        onMousedown: MouseEventHandler;
        focused: boolean;
        hidden: boolean;
        disabled: boolean;
        readonly: boolean;
        autofocus: boolean;
        variant: "filled" | "outlined" | "borderless" | "underlined";
        lazy: boolean;
        loading: boolean;
        bordered: boolean;
        onMouseUp: MouseEventHandler;
        defaultValue: string | number;
        allowClear: boolean;
    }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        variant: {
            type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
            default: "filled" | "outlined" | "borderless" | "underlined";
        };
        size: {
            type: PropType<SizeType>;
        };
        value: {
            type: PropType<string | number>;
            default: any;
        };
        name: StringConstructor;
        type: {
            type: PropType<"number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel">;
            default: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
        };
        onCompositionend: PropType<CompositionEventHandler>;
        onCompositionstart: PropType<CompositionEventHandler>;
        onFocus: PropType<FocusEventHandler>;
        onBlur: PropType<FocusEventHandler>;
        onChange: PropType<ChangeEventHandler>;
        onInput: PropType<ChangeEventHandler>;
        onKeydown: PropType<KeyboardEventHandler>;
        onKeyup: PropType<KeyboardEventHandler>;
        onMousedown: {
            type: PropType<MouseEventHandler>;
            default: any;
        };
        focused: {
            type: BooleanConstructor;
            default: any;
        };
        hidden: {
            type: BooleanConstructor;
            default: any;
        };
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        prefixCls: StringConstructor;
        id: StringConstructor;
        readonly: {
            type: BooleanConstructor;
            default: any;
        };
        autofocus: {
            type: BooleanConstructor;
            default: any;
        };
        autocomplete: StringConstructor;
        placeholder: {
            type: PropType<string | number>;
        };
        lazy: {
            type: BooleanConstructor;
            default: boolean;
        };
        maxlength: NumberConstructor;
        loading: {
            type: BooleanConstructor;
            default: any;
        };
        bordered: {
            type: BooleanConstructor;
            default: any;
        };
        showCount: {
            type: PropType<boolean | ShowCountProps>;
        };
        htmlSize: NumberConstructor;
        onPressEnter: PropType<KeyboardEventHandler>;
        onMouseUp: {
            type: PropType<MouseEventHandler>;
            default: any;
        };
        onRawInput: PropType<ChangeEventHandler>;
        'onUpdate:value': PropType<(val: string) => void>;
        valueModifiers: ObjectConstructor;
        status: PropType<"" | "error" | "warning">;
        defaultValue: {
            type: PropType<string | number>;
            default: any;
        };
        inputElement: VueTypeValidableDef<any>;
        triggerFocus: PropType<() => void>;
        handleReset: PropType<MouseEventHandler>;
        addonBefore: VueTypeValidableDef<any>;
        addonAfter: VueTypeValidableDef<any>;
        prefix: VueTypeValidableDef<any>;
        suffix: VueTypeValidableDef<any>;
        clearIcon: VueTypeValidableDef<any>;
        allowClear: {
            type: BooleanConstructor;
            default: any;
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
        value: string | number;
        type: "number" | "reset" | "submit" | "button" | "time" | "image" | "text" | "search" | "hidden" | "color" | "checkbox" | "radio" | "range" | "date" | "url" | "email" | "week" | "month" | "datetime-local" | "file" | "password" | "tel";
        onMousedown: MouseEventHandler;
        focused: boolean;
        hidden: boolean;
        disabled: boolean;
        readonly: boolean;
        autofocus: boolean;
        variant: "filled" | "outlined" | "borderless" | "underlined";
        lazy: boolean;
        loading: boolean;
        bordered: boolean;
        onMouseUp: MouseEventHandler;
        defaultValue: string | number;
        allowClear: boolean;
    }> | null;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
