import type { dkInputNumberPosition, dkPlusSize, ClassListName } from '../_interface';
import type { returnType } from '../_utils/props';
import type { DefineComponent, PropType, Ref, ShallowRef, ComputedRef, CSSProperties, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
import type { Install } from '../_utils/withInstall';
import number from "./src/inputNumber";
export declare const DkInputNumber: Install<DefineComponent<{
    placeholder: returnType<PropType<"">, "" | null>;
    position: returnType<PropType<dkInputNumberPosition>, dkInputNumberPosition | null>;
    readonly: returnType<BooleanConstructor, boolean>;
    precision: returnType<PropType<string | number>, string | number | null>;
    strict: returnType<BooleanConstructor, boolean>;
    disabled: returnType<BooleanConstructor, boolean>;
    size: returnType<PropType<dkPlusSize>, dkPlusSize | null>;
    modelValue: returnType<NumberConstructor, number | null>;
    step: returnType<PropType<string | number>, string | number | null>;
    min: returnType<NumberConstructor, number | null>;
    max: returnType<NumberConstructor, number | null>;
}, {
    reduce: () => void;
    plus: () => void;
    value: Ref<string | number>;
    input: ShallowRef<HTMLInputElement | undefined>;
    classList: ComputedRef<ClassListName>;
    styleList: ComputedRef<CSSProperties>;
    plusDisabled: Ref<boolean>;
    reduceDisabled: Ref<boolean>;
    disabled: Ref<boolean>;
    handleInputChange: (event: Event) => void;
    handleMouseDown: (event: MouseEvent, mode: Function) => void;
    handleMouseLeave: () => void;
    handleMouseUp: () => void;
    reduceIcon: string;
    plusIcon: string;
    placeholder: string;
    position: "left" | "right";
    readonly: boolean;
    step: number;
    min: number;
    max: number;
    size: dkPlusSize;
    iconSize: number;
    strict: boolean;
    precision: number;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("update:modelValue" | "change")[], "update:modelValue" | "change", PublicProps, Readonly<ExtractPropTypes<{
    placeholder: returnType<PropType<"">, "" | null>;
    position: returnType<PropType<dkInputNumberPosition>, dkInputNumberPosition | null>;
    readonly: returnType<BooleanConstructor, boolean>;
    precision: returnType<PropType<string | number>, string | number | null>;
    strict: returnType<BooleanConstructor, boolean>;
    disabled: returnType<BooleanConstructor, boolean>;
    size: returnType<PropType<dkPlusSize>, dkPlusSize | null>;
    modelValue: returnType<NumberConstructor, number | null>;
    step: returnType<PropType<string | number>, string | number | null>;
    min: returnType<NumberConstructor, number | null>;
    max: returnType<NumberConstructor, number | null>;
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onChange?: ((...args: any[]) => any) | undefined;
}, {
    size: dkPlusSize;
    disabled: boolean;
    modelValue: number;
    readonly: boolean;
    placeholder: "";
    position: dkInputNumberPosition;
    precision: string | number;
    strict: boolean;
    step: string | number;
    min: number;
    max: number;
}, {}>>;
export type numberInstance = InstanceType<typeof number>;
export default DkInputNumber;
