import { ApFieldNumberProps } from '../interface';
import { CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, DefineComponent } from 'vue';
import { ButtonSize } from '@aplus-frontend/antdv/es/button';
import { VueTypeValidableDef } from '../../../node_modules/vue-types';
import { ValueType } from '@aplus-frontend/antdv/es/input-number/src/utils/MiniDecimal';
import { KeyboardEventHandler } from '@aplus-frontend/antdv/es/_util/EventInterface';
import { VueNode, CustomSlotsType } from '@aplus-frontend/antdv/es/_util/type';
type ApFieldNumberSlots = {
    addonBefore?: any;
    addonAfter?: any;
    prefix?: any;
    default?: any;
    upIcon?: any;
    downIcon?: any;
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<ApFieldNumberSlots> & ApFieldNumberSlots;
    refs: {
        inputRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
            size: {
                type: PropType<ButtonSize>;
                default: ButtonSize;
            };
            bordered: {
                type: BooleanConstructor;
                default: boolean;
            };
            placeholder: StringConstructor;
            name: StringConstructor;
            id: StringConstructor;
            type: StringConstructor;
            addonBefore: VueTypeValidableDef<any>;
            addonAfter: VueTypeValidableDef<any>;
            prefix: VueTypeValidableDef<any>;
            suffix: VueTypeValidableDef<any>;
            'onUpdate:value': {
                type: PropType<(value: ValueType) => void>;
                default: (value: ValueType) => void;
            };
            valueModifiers: ObjectConstructor;
            status: {
                type: PropType<"" | "error" | "warning">;
                default: "" | "error" | "warning";
            };
            variant: {
                type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                default: "filled" | "outlined" | "borderless" | "underlined";
            };
            changeOnWheel: {
                type: BooleanConstructor;
                default: boolean;
            };
            changeOnBlur: {
                type: BooleanConstructor;
                default: boolean;
            };
            stringMode: {
                type: BooleanConstructor;
                default: boolean;
            };
            defaultValue: {
                type: PropType<ValueType>;
                default: ValueType;
            };
            value: {
                type: PropType<ValueType>;
                default: ValueType;
            };
            prefixCls: {
                type: PropType<string>;
                default: string;
            };
            min: {
                type: PropType<ValueType>;
                default: ValueType;
            };
            max: {
                type: PropType<ValueType>;
                default: ValueType;
            };
            step: {
                type: PropType<ValueType>;
                default: ValueType;
            };
            tabindex: NumberConstructor;
            controls: {
                type: BooleanConstructor;
                default: boolean;
            };
            readonly: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            autofocus: {
                type: BooleanConstructor;
                default: boolean;
            };
            keyboard: {
                type: BooleanConstructor;
                default: boolean;
            };
            parser: {
                type: PropType<(displayValue: string) => ValueType>;
                default: (displayValue: string) => ValueType;
            };
            formatter: {
                type: PropType<(value: ValueType, info: {
                    userTyping: boolean;
                    input: string;
                }) => string>;
                default: (value: ValueType, info: {
                    userTyping: boolean;
                    input: string;
                }) => string;
            };
            precision: NumberConstructor;
            decimalSeparator: StringConstructor;
            onInput: {
                type: PropType<(text: string) => void>;
                default: (text: string) => void;
            };
            onChange: {
                type: PropType<(value: ValueType) => void>;
                default: (value: ValueType) => void;
            };
            onPressEnter: {
                type: PropType<KeyboardEventHandler>;
                default: KeyboardEventHandler;
            };
            onStep: {
                type: PropType<(value: ValueType, info: {
                    offset: ValueType;
                    type: "up" | "down";
                }) => void>;
                default: (value: ValueType, info: {
                    offset: ValueType;
                    type: "up" | "down";
                }) => void;
            };
            onBlur: {
                type: PropType<(e: FocusEvent) => void>;
                default: (e: FocusEvent) => void;
            };
            onFocus: {
                type: PropType<(e: FocusEvent) => void>;
                default: (e: FocusEvent) => void;
            };
            mode: {
                type: PropType<"input" | "spinner">;
                default: "input" | "spinner";
            };
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
            size: ButtonSize;
            value: ValueType;
            mode: "input" | "spinner";
            onFocus: (e: FocusEvent) => void;
            onBlur: (e: FocusEvent) => void;
            onChange: (value: ValueType) => void;
            onInput: (text: string) => void;
            disabled: boolean;
            max: ValueType;
            min: ValueType;
            prefixCls: string;
            readonly: boolean;
            autofocus: boolean;
            variant: "filled" | "outlined" | "borderless" | "underlined";
            bordered: boolean;
            onPressEnter: KeyboardEventHandler;
            'onUpdate:value': (value: ValueType) => void;
            status: "" | "error" | "warning";
            defaultValue: ValueType;
            step: ValueType;
            changeOnWheel: boolean;
            changeOnBlur: boolean;
            stringMode: boolean;
            controls: boolean;
            keyboard: boolean;
            parser: (displayValue: string) => ValueType;
            formatter: (value: ValueType, info: {
                userTyping: boolean;
                input: string;
            }) => string;
            onStep: (value: ValueType, info: {
                offset: ValueType;
                type: "up" | "down";
            }) => void;
        }, true, {}, CustomSlotsType<{
            addonBefore?: any;
            addonAfter?: any;
            prefix?: any;
            suffix?: any;
            default?: any;
            upIcon?: any;
            downIcon?: any;
        }>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly< ExtractPropTypes<{
            size: {
                type: PropType<ButtonSize>;
                default: ButtonSize;
            };
            bordered: {
                type: BooleanConstructor;
                default: boolean;
            };
            placeholder: StringConstructor;
            name: StringConstructor;
            id: StringConstructor;
            type: StringConstructor;
            addonBefore: VueTypeValidableDef<any>;
            addonAfter: VueTypeValidableDef<any>;
            prefix: VueTypeValidableDef<any>;
            suffix: VueTypeValidableDef<any>;
            'onUpdate:value': {
                type: PropType<(value: ValueType) => void>;
                default: (value: ValueType) => void;
            };
            valueModifiers: ObjectConstructor;
            status: {
                type: PropType<"" | "error" | "warning">;
                default: "" | "error" | "warning";
            };
            variant: {
                type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
                default: "filled" | "outlined" | "borderless" | "underlined";
            };
            changeOnWheel: {
                type: BooleanConstructor;
                default: boolean;
            };
            changeOnBlur: {
                type: BooleanConstructor;
                default: boolean;
            };
            stringMode: {
                type: BooleanConstructor;
                default: boolean;
            };
            defaultValue: {
                type: PropType<ValueType>;
                default: ValueType;
            };
            value: {
                type: PropType<ValueType>;
                default: ValueType;
            };
            prefixCls: {
                type: PropType<string>;
                default: string;
            };
            min: {
                type: PropType<ValueType>;
                default: ValueType;
            };
            max: {
                type: PropType<ValueType>;
                default: ValueType;
            };
            step: {
                type: PropType<ValueType>;
                default: ValueType;
            };
            tabindex: NumberConstructor;
            controls: {
                type: BooleanConstructor;
                default: boolean;
            };
            readonly: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            autofocus: {
                type: BooleanConstructor;
                default: boolean;
            };
            keyboard: {
                type: BooleanConstructor;
                default: boolean;
            };
            parser: {
                type: PropType<(displayValue: string) => ValueType>;
                default: (displayValue: string) => ValueType;
            };
            formatter: {
                type: PropType<(value: ValueType, info: {
                    userTyping: boolean;
                    input: string;
                }) => string>;
                default: (value: ValueType, info: {
                    userTyping: boolean;
                    input: string;
                }) => string;
            };
            precision: NumberConstructor;
            decimalSeparator: StringConstructor;
            onInput: {
                type: PropType<(text: string) => void>;
                default: (text: string) => void;
            };
            onChange: {
                type: PropType<(value: ValueType) => void>;
                default: (value: ValueType) => void;
            };
            onPressEnter: {
                type: PropType<KeyboardEventHandler>;
                default: KeyboardEventHandler;
            };
            onStep: {
                type: PropType<(value: ValueType, info: {
                    offset: ValueType;
                    type: "up" | "down";
                }) => void>;
                default: (value: ValueType, info: {
                    offset: ValueType;
                    type: "up" | "down";
                }) => void;
            };
            onBlur: {
                type: PropType<(e: FocusEvent) => void>;
                default: (e: FocusEvent) => void;
            };
            onFocus: {
                type: PropType<(e: FocusEvent) => void>;
                default: (e: FocusEvent) => void;
            };
            mode: {
                type: PropType<"input" | "spinner">;
                default: "input" | "spinner";
            };
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
            size: ButtonSize;
            value: ValueType;
            mode: "input" | "spinner";
            onFocus: (e: FocusEvent) => void;
            onBlur: (e: FocusEvent) => void;
            onChange: (value: ValueType) => void;
            onInput: (text: string) => void;
            disabled: boolean;
            max: ValueType;
            min: ValueType;
            prefixCls: string;
            readonly: boolean;
            autofocus: boolean;
            variant: "filled" | "outlined" | "borderless" | "underlined";
            bordered: boolean;
            onPressEnter: KeyboardEventHandler;
            'onUpdate:value': (value: ValueType) => void;
            status: "" | "error" | "warning";
            defaultValue: ValueType;
            step: ValueType;
            changeOnWheel: boolean;
            changeOnBlur: boolean;
            stringMode: boolean;
            controls: boolean;
            keyboard: boolean;
            parser: (displayValue: string) => ValueType;
            formatter: (value: ValueType, info: {
                userTyping: boolean;
                input: string;
            }) => string;
            onStep: (value: ValueType, info: {
                offset: ValueType;
                type: "up" | "down";
            }) => void;
        }> | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApFieldNumberProps, {
    focus: () => void;
    blur: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:value": (...args: any[]) => void;
}, string, PublicProps, Readonly<ApFieldNumberProps> & Readonly<{
    "onUpdate:value"?: ((...args: any[]) => any) | undefined;
}>, {
    step: ValueType;
    disabled: boolean;
    bordered: boolean;
    emptyText: string;
    changeOnWheel: boolean;
    changeOnBlur: boolean;
    min: ValueType;
    max: ValueType;
    controls: boolean;
    keyboard: boolean;
    thousands: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    inputRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
        size: {
            type: PropType<ButtonSize>;
            default: ButtonSize;
        };
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        placeholder: StringConstructor;
        name: StringConstructor;
        id: StringConstructor;
        type: StringConstructor;
        addonBefore: VueTypeValidableDef<any>;
        addonAfter: VueTypeValidableDef<any>;
        prefix: VueTypeValidableDef<any>;
        suffix: VueTypeValidableDef<any>;
        'onUpdate:value': {
            type: PropType<(value: ValueType) => void>;
            default: (value: ValueType) => void;
        };
        valueModifiers: ObjectConstructor;
        status: {
            type: PropType<"" | "error" | "warning">;
            default: "" | "error" | "warning";
        };
        variant: {
            type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
            default: "filled" | "outlined" | "borderless" | "underlined";
        };
        changeOnWheel: {
            type: BooleanConstructor;
            default: boolean;
        };
        changeOnBlur: {
            type: BooleanConstructor;
            default: boolean;
        };
        stringMode: {
            type: BooleanConstructor;
            default: boolean;
        };
        defaultValue: {
            type: PropType<ValueType>;
            default: ValueType;
        };
        value: {
            type: PropType<ValueType>;
            default: ValueType;
        };
        prefixCls: {
            type: PropType<string>;
            default: string;
        };
        min: {
            type: PropType<ValueType>;
            default: ValueType;
        };
        max: {
            type: PropType<ValueType>;
            default: ValueType;
        };
        step: {
            type: PropType<ValueType>;
            default: ValueType;
        };
        tabindex: NumberConstructor;
        controls: {
            type: BooleanConstructor;
            default: boolean;
        };
        readonly: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        autofocus: {
            type: BooleanConstructor;
            default: boolean;
        };
        keyboard: {
            type: BooleanConstructor;
            default: boolean;
        };
        parser: {
            type: PropType<(displayValue: string) => ValueType>;
            default: (displayValue: string) => ValueType;
        };
        formatter: {
            type: PropType<(value: ValueType, info: {
                userTyping: boolean;
                input: string;
            }) => string>;
            default: (value: ValueType, info: {
                userTyping: boolean;
                input: string;
            }) => string;
        };
        precision: NumberConstructor;
        decimalSeparator: StringConstructor;
        onInput: {
            type: PropType<(text: string) => void>;
            default: (text: string) => void;
        };
        onChange: {
            type: PropType<(value: ValueType) => void>;
            default: (value: ValueType) => void;
        };
        onPressEnter: {
            type: PropType<KeyboardEventHandler>;
            default: KeyboardEventHandler;
        };
        onStep: {
            type: PropType<(value: ValueType, info: {
                offset: ValueType;
                type: "up" | "down";
            }) => void>;
            default: (value: ValueType, info: {
                offset: ValueType;
                type: "up" | "down";
            }) => void;
        };
        onBlur: {
            type: PropType<(e: FocusEvent) => void>;
            default: (e: FocusEvent) => void;
        };
        onFocus: {
            type: PropType<(e: FocusEvent) => void>;
            default: (e: FocusEvent) => void;
        };
        mode: {
            type: PropType<"input" | "spinner">;
            default: "input" | "spinner";
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        size: ButtonSize;
        value: ValueType;
        mode: "input" | "spinner";
        onFocus: (e: FocusEvent) => void;
        onBlur: (e: FocusEvent) => void;
        onChange: (value: ValueType) => void;
        onInput: (text: string) => void;
        disabled: boolean;
        max: ValueType;
        min: ValueType;
        prefixCls: string;
        readonly: boolean;
        autofocus: boolean;
        variant: "filled" | "outlined" | "borderless" | "underlined";
        bordered: boolean;
        onPressEnter: KeyboardEventHandler;
        'onUpdate:value': (value: ValueType) => void;
        status: "" | "error" | "warning";
        defaultValue: ValueType;
        step: ValueType;
        changeOnWheel: boolean;
        changeOnBlur: boolean;
        stringMode: boolean;
        controls: boolean;
        keyboard: boolean;
        parser: (displayValue: string) => ValueType;
        formatter: (value: ValueType, info: {
            userTyping: boolean;
            input: string;
        }) => string;
        onStep: (value: ValueType, info: {
            offset: ValueType;
            type: "up" | "down";
        }) => void;
    }, true, {}, CustomSlotsType<{
        addonBefore?: any;
        addonAfter?: any;
        prefix?: any;
        suffix?: any;
        default?: any;
        upIcon?: any;
        downIcon?: any;
    }>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        size: {
            type: PropType<ButtonSize>;
            default: ButtonSize;
        };
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        placeholder: StringConstructor;
        name: StringConstructor;
        id: StringConstructor;
        type: StringConstructor;
        addonBefore: VueTypeValidableDef<any>;
        addonAfter: VueTypeValidableDef<any>;
        prefix: VueTypeValidableDef<any>;
        suffix: VueTypeValidableDef<any>;
        'onUpdate:value': {
            type: PropType<(value: ValueType) => void>;
            default: (value: ValueType) => void;
        };
        valueModifiers: ObjectConstructor;
        status: {
            type: PropType<"" | "error" | "warning">;
            default: "" | "error" | "warning";
        };
        variant: {
            type: PropType<"filled" | "outlined" | "borderless" | "underlined">;
            default: "filled" | "outlined" | "borderless" | "underlined";
        };
        changeOnWheel: {
            type: BooleanConstructor;
            default: boolean;
        };
        changeOnBlur: {
            type: BooleanConstructor;
            default: boolean;
        };
        stringMode: {
            type: BooleanConstructor;
            default: boolean;
        };
        defaultValue: {
            type: PropType<ValueType>;
            default: ValueType;
        };
        value: {
            type: PropType<ValueType>;
            default: ValueType;
        };
        prefixCls: {
            type: PropType<string>;
            default: string;
        };
        min: {
            type: PropType<ValueType>;
            default: ValueType;
        };
        max: {
            type: PropType<ValueType>;
            default: ValueType;
        };
        step: {
            type: PropType<ValueType>;
            default: ValueType;
        };
        tabindex: NumberConstructor;
        controls: {
            type: BooleanConstructor;
            default: boolean;
        };
        readonly: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        autofocus: {
            type: BooleanConstructor;
            default: boolean;
        };
        keyboard: {
            type: BooleanConstructor;
            default: boolean;
        };
        parser: {
            type: PropType<(displayValue: string) => ValueType>;
            default: (displayValue: string) => ValueType;
        };
        formatter: {
            type: PropType<(value: ValueType, info: {
                userTyping: boolean;
                input: string;
            }) => string>;
            default: (value: ValueType, info: {
                userTyping: boolean;
                input: string;
            }) => string;
        };
        precision: NumberConstructor;
        decimalSeparator: StringConstructor;
        onInput: {
            type: PropType<(text: string) => void>;
            default: (text: string) => void;
        };
        onChange: {
            type: PropType<(value: ValueType) => void>;
            default: (value: ValueType) => void;
        };
        onPressEnter: {
            type: PropType<KeyboardEventHandler>;
            default: KeyboardEventHandler;
        };
        onStep: {
            type: PropType<(value: ValueType, info: {
                offset: ValueType;
                type: "up" | "down";
            }) => void>;
            default: (value: ValueType, info: {
                offset: ValueType;
                type: "up" | "down";
            }) => void;
        };
        onBlur: {
            type: PropType<(e: FocusEvent) => void>;
            default: (e: FocusEvent) => void;
        };
        onFocus: {
            type: PropType<(e: FocusEvent) => void>;
            default: (e: FocusEvent) => void;
        };
        mode: {
            type: PropType<"input" | "spinner">;
            default: "input" | "spinner";
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
        size: ButtonSize;
        value: ValueType;
        mode: "input" | "spinner";
        onFocus: (e: FocusEvent) => void;
        onBlur: (e: FocusEvent) => void;
        onChange: (value: ValueType) => void;
        onInput: (text: string) => void;
        disabled: boolean;
        max: ValueType;
        min: ValueType;
        prefixCls: string;
        readonly: boolean;
        autofocus: boolean;
        variant: "filled" | "outlined" | "borderless" | "underlined";
        bordered: boolean;
        onPressEnter: KeyboardEventHandler;
        'onUpdate:value': (value: ValueType) => void;
        status: "" | "error" | "warning";
        defaultValue: ValueType;
        step: ValueType;
        changeOnWheel: boolean;
        changeOnBlur: boolean;
        stringMode: boolean;
        controls: boolean;
        keyboard: boolean;
        parser: (displayValue: string) => ValueType;
        formatter: (value: ValueType, info: {
            userTyping: boolean;
            input: string;
        }) => string;
        onStep: (value: ValueType, info: {
            offset: ValueType;
            type: "up" | "down";
        }) => void;
    }> | 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;
    };
};
