import { App, ExtractPropTypes, PropType, CreateComponentPublicInstanceWithMixins, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, ComponentOptionsBase, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
import { CustomSlotsType, VueNode } from '../_util/type';
import { SizeType } from '../config-provider';
import { VueTypeValidableDef } from 'vue-types';
import { ValueType } from './src/utils/MiniDecimal';
import { KeyboardEventHandler } from '../_util/EventInterface';
export declare const inputNumberProps: () => {
    size: {
        type: PropType<SizeType>;
        default: SizeType;
    };
    bordered: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: StringConstructor;
    name: StringConstructor;
    id: StringConstructor;
    controls: {
        type: BooleanConstructor;
        default: boolean;
    };
    type: StringConstructor;
    addonBefore: VueTypeValidableDef<any>;
    addonAfter: VueTypeValidableDef<any>;
    prefix: VueTypeValidableDef<any>;
    'onUpdate:value': {
        type: PropType<(value: ValueType) => void>;
        default: (value: ValueType) => void;
    };
    valueModifiers: ObjectConstructor;
    status: {
        type: PropType<"" | "error" | "warning">;
        default: "" | "error" | "warning";
    };
    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;
    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 | undefined) => ValueType>;
        default: (displayValue: string | undefined) => ValueType;
    };
    formatter: {
        type: PropType<(value: ValueType | undefined, info: {
            userTyping: boolean;
            input: string;
        }) => string>;
        default: (value: ValueType | undefined, 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;
    };
};
export type InputNumberProps = Partial<ExtractPropTypes<ReturnType<typeof inputNumberProps>>>;
declare const _default: {
    new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<ExtractPropTypes<{
        size: {
            type: PropType<SizeType>;
            default: SizeType;
        };
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        placeholder: StringConstructor;
        name: StringConstructor;
        id: StringConstructor;
        controls: {
            type: BooleanConstructor;
            default: boolean;
        };
        type: StringConstructor;
        addonBefore: VueTypeValidableDef<any>;
        addonAfter: VueTypeValidableDef<any>;
        prefix: VueTypeValidableDef<any>;
        'onUpdate:value': {
            type: PropType<(value: ValueType) => void>;
            default: (value: ValueType) => void;
        };
        valueModifiers: ObjectConstructor;
        status: {
            type: PropType<"" | "error" | "warning">;
            default: "" | "error" | "warning";
        };
        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;
        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 | undefined) => ValueType>;
            default: (displayValue: string | undefined) => ValueType;
        };
        formatter: {
            type: PropType<(value: ValueType | undefined, info: {
                userTyping: boolean;
                input: string;
            }) => string>;
            default: (value: ValueType | undefined, 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;
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        size: SizeType;
        value: ValueType;
        disabled: boolean;
        max: ValueType;
        min: ValueType;
        onFocus: (e: FocusEvent) => void;
        onBlur: (e: FocusEvent) => void;
        onChange: (value: ValueType) => void;
        onInput: (text: string) => void;
        prefixCls: string;
        step: ValueType;
        autofocus: boolean;
        bordered: boolean;
        status: "" | "error" | "warning";
        defaultValue: ValueType;
        readonly: boolean;
        'onUpdate:value': (value: ValueType) => void;
        keyboard: boolean;
        onPressEnter: KeyboardEventHandler;
        onStep: (value: ValueType, info: {
            offset: ValueType;
            type: "up" | "down";
        }) => void;
        stringMode: boolean;
        controls: boolean;
        parser: (displayValue: string | undefined) => ValueType;
        formatter: (value: ValueType | undefined, info: {
            userTyping: boolean;
            input: string;
        }) => string;
    }, true, {}, CustomSlotsType<{
        addonBefore?: any;
        addonAfter?: any;
        prefix?: any;
        default?: any;
        upIcon?: any;
        downIcon?: any;
    }>, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<ExtractPropTypes<{
        size: {
            type: PropType<SizeType>;
            default: SizeType;
        };
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        placeholder: StringConstructor;
        name: StringConstructor;
        id: StringConstructor;
        controls: {
            type: BooleanConstructor;
            default: boolean;
        };
        type: StringConstructor;
        addonBefore: VueTypeValidableDef<any>;
        addonAfter: VueTypeValidableDef<any>;
        prefix: VueTypeValidableDef<any>;
        'onUpdate:value': {
            type: PropType<(value: ValueType) => void>;
            default: (value: ValueType) => void;
        };
        valueModifiers: ObjectConstructor;
        status: {
            type: PropType<"" | "error" | "warning">;
            default: "" | "error" | "warning";
        };
        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;
        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 | undefined) => ValueType>;
            default: (displayValue: string | undefined) => ValueType;
        };
        formatter: {
            type: PropType<(value: ValueType | undefined, info: {
                userTyping: boolean;
                input: string;
            }) => string>;
            default: (value: ValueType | undefined, 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;
        };
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
        size: SizeType;
        value: ValueType;
        disabled: boolean;
        max: ValueType;
        min: ValueType;
        onFocus: (e: FocusEvent) => void;
        onBlur: (e: FocusEvent) => void;
        onChange: (value: ValueType) => void;
        onInput: (text: string) => void;
        prefixCls: string;
        step: ValueType;
        autofocus: boolean;
        bordered: boolean;
        status: "" | "error" | "warning";
        defaultValue: ValueType;
        readonly: boolean;
        'onUpdate:value': (value: ValueType) => void;
        keyboard: boolean;
        onPressEnter: KeyboardEventHandler;
        onStep: (value: ValueType, info: {
            offset: ValueType;
            type: "up" | "down";
        }) => void;
        stringMode: boolean;
        controls: boolean;
        parser: (displayValue: string | undefined) => ValueType;
        formatter: (value: ValueType | undefined, info: {
            userTyping: boolean;
            input: string;
        }) => string;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & ComponentOptionsBase<Readonly<ExtractPropTypes<{
    size: {
        type: PropType<SizeType>;
        default: SizeType;
    };
    bordered: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: StringConstructor;
    name: StringConstructor;
    id: StringConstructor;
    controls: {
        type: BooleanConstructor;
        default: boolean;
    };
    type: StringConstructor;
    addonBefore: VueTypeValidableDef<any>;
    addonAfter: VueTypeValidableDef<any>;
    prefix: VueTypeValidableDef<any>;
    'onUpdate:value': {
        type: PropType<(value: ValueType) => void>;
        default: (value: ValueType) => void;
    };
    valueModifiers: ObjectConstructor;
    status: {
        type: PropType<"" | "error" | "warning">;
        default: "" | "error" | "warning";
    };
    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;
    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 | undefined) => ValueType>;
        default: (displayValue: string | undefined) => ValueType;
    };
    formatter: {
        type: PropType<(value: ValueType | undefined, info: {
            userTyping: boolean;
            input: string;
        }) => string>;
        default: (value: ValueType | undefined, 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;
    };
}>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {
    size: SizeType;
    value: ValueType;
    disabled: boolean;
    max: ValueType;
    min: ValueType;
    onFocus: (e: FocusEvent) => void;
    onBlur: (e: FocusEvent) => void;
    onChange: (value: ValueType) => void;
    onInput: (text: string) => void;
    prefixCls: string;
    step: ValueType;
    autofocus: boolean;
    bordered: boolean;
    status: "" | "error" | "warning";
    defaultValue: ValueType;
    readonly: boolean;
    'onUpdate:value': (value: ValueType) => void;
    keyboard: boolean;
    onPressEnter: KeyboardEventHandler;
    onStep: (value: ValueType, info: {
        offset: ValueType;
        type: "up" | "down";
    }) => void;
    stringMode: boolean;
    controls: boolean;
    parser: (displayValue: string | undefined) => ValueType;
    formatter: (value: ValueType | undefined, info: {
        userTyping: boolean;
        input: string;
    }) => string;
}, {}, string, CustomSlotsType<{
    addonBefore?: any;
    addonAfter?: any;
    prefix?: any;
    default?: any;
    upIcon?: any;
    downIcon?: any;
}>, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & {
    install: (app: App) => App<any>;
};
export default _default;
