import { type HTMLAttributes } from 'vue';
export type NumberFieldProps = {
/**
* Numberfield value.
*/
modelValue?: number | null;
/**
* Numberfield label.
*/
label: string;
/**
* Numberfield placeholder.
*/
placeholder?: string;
/**
* Numberfield error state. Indicates that the numberfield has an error state. It shows an error icon.
*/
error?: boolean;
/**
* Numberfield error message. The message that will be shown when the numberfield has an error state.
*/
errorMessage?: string;
/**
* Numberfield description. A description that will be shown below the Numberfield. When the error state is true, the description will be hidden.
*/
description?: string;
/**
* Numberfield disabled state. The disable state does not remove the focus of the input.
*/
disabled?: boolean;
/**
* Disables interaction with the field.
*/
readonly?: boolean;
/**
* Numberfield required state.
*/
required?: boolean;
/**
* Numberfield id attribute.
*/
id?: string;
/**
* Numberfield name attribute. This property is used as the parameter of the name attribute of the input element.
*/
name?: string;
/**
* Numberfield autocomplete attribute. This property is used as the parameter of the autocomplete attribute of the input element.
*/
autocomplete?: string;
/**
* Numberfield step attribute. This property is used as the parameter of the step attribute of the input element.
*/
step?: number;
/**
* Numberfield data-testid attribute.
*/
dataTestid?: string;
/**
* Numberfield min value attribute.
*/
min?: number;
/**
* Numberfield max value attribute.
*/
max?: number;
/**
* Define how many decimal places the numberfield should have.
* This is used to round the value of the numberfield.
* If the value is not a number, it will be rounded to the nearest integer.
*/
precision?: number;
/**
* Decrease button label.
*/
decreaseButtonLabel?: string;
/**
* Increase button label.
*/
increaseButtonLabel?: string;
} & /* @vue-ignore */ HTMLAttributes;
declare var __VLS_20: {};
type __VLS_Slots = {} & {
default?: (props: typeof __VLS_20) => any;
};
declare const __VLS_base: import("vue").DefineComponent any;
change: (newValue: number | undefined, previousValue: number | undefined) => any;
focus: (value: FocusEvent) => any;
keydown: (value: KeyboardEvent) => any;
"update:modelValue": (value: number | undefined) => any;
}, string, import("vue").PublicProps, Readonly & Readonly<{
onBlur?: ((value: FocusEvent) => any) | undefined;
onChange?: ((newValue: number | undefined, previousValue: number | undefined) => any) | undefined;
onFocus?: ((value: FocusEvent) => any) | undefined;
onKeydown?: ((value: KeyboardEvent) => any) | undefined;
"onUpdate:modelValue"?: ((value: number | undefined) => any) | undefined;
}>, {
dataTestid: string;
step: number;
decreaseButtonLabel: string;
increaseButtonLabel: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots = T & {
new (): {
$slots: S;
};
};