import { sizePropValidator } from '../../mixins/props';
import { InputElementEvent } from '../../types';
declare const _default: import("vue").DefineComponent<{
    /**
     * The color variant of the input
     * @type light | dark
     * @default light
     * @name color
     */
    color: {
        type: StringConstructor;
        default: () => string;
    };
    /**
     * Display the input as clearable
     * @type Boolean
     * @default false
     * @name clearable
     */
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The disabled state of the input
     * @type Boolean
     * @default false
     * @name disabled
     */
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The id of the internal input element
     * @type String
     * @default
     * @name id
     */
    id: {
        type: StringConstructor;
        default: string;
    };
    /**
     * Used to set the field value
     * @type String | Number
     * @default
     * @name modelValue
     */
    modelValue: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
    };
    /**
     * The unique identifier of the input
     * @type String
     * @default uid()
     * @name name
     */
    name: {
        type: (StringConstructor | NumberConstructor)[];
        default(): string;
    };
    /**
     * The readonly state of the input
     * @type Boolean
     * @default false
     * @name readonly
     */
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The size variant of the input
     * @type sm | md | lg
     * @default md
     * @name size
     */
    size: {
        type: StringConstructor;
        default: () => string;
        validator: typeof sizePropValidator;
    };
    /**
     * The tabindex of the input
     * @type Number | String
     * @default 0
     * @name tabindex
     */
    tabindex: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    /**
     * The minimum allowed input value
     * @type Number
     * @default -Infinity
     * @name min
     */
    min: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    /**
     * The maximum allowed input value
     * @type Number
     * @default +Infinity
     * @name max
     */
    max: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    /**
     * The precision of the input value, for floating point numbers
     * @type Number
     * @default 0
     * @name precision
     */
    precision: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * The increment step to increase or decrease the value by
     * @type Number
     * @default 1
     * @name step
     */
    step: {
        type: NumberConstructor;
        default: number;
    };
}, unknown, unknown, {}, {
    decrease(): void;
    increase(): void;
    formatPrecision(value: string): string;
    onBlurFormatPrecision(event: InputElementEvent): void;
}, import("vue").ComponentOptionsMixin, import("vue").DefineComponent<Record<string, unknown>, Record<string, unknown>, unknown, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<Record<string, unknown>>, {}>, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    color?: unknown;
    clearable?: unknown;
    disabled?: unknown;
    id?: unknown;
    modelValue?: unknown;
    name?: unknown;
    readonly?: unknown;
    size?: unknown;
    tabindex?: unknown;
    min?: unknown;
    max?: unknown;
    precision?: unknown;
    step?: unknown;
} & {
    max: string | number;
    min: string | number;
    name: string | number;
    color: string;
    size: string;
    modelValue: string | number;
    disabled: boolean;
    id: string;
    tabindex: string | number;
    readonly: boolean;
    clearable: boolean;
    precision: number;
    step: number;
} & {}> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
    max: string | number;
    min: string | number;
    name: string | number;
    color: string;
    size: string;
    modelValue: string | number;
    disabled: boolean;
    id: string;
    tabindex: string | number;
    readonly: boolean;
    clearable: boolean;
    precision: number;
    step: number;
}>;
export default _default;
