const __VLS_props = defineProps();
const emit = defineEmits();
function parse(raw) { if (raw.trim() === '')
    return null; const value = Number(raw); return Number.isFinite(value) ? value : null; }
const __VLS_ctx = {
    ...{},
    ...{},
    ...{},
    ...{},
    ...{},
};
let __VLS_components;
let __VLS_intrinsics;
let __VLS_directives;
__VLS_asFunctionalElement1(__VLS_intrinsics.input)({
    ...{ onInput: (...[$event]) => {
            return (__VLS_ctx.emit('update:modelValue', __VLS_ctx.parse($event.target.value)));
            // @ts-ignore
            [emit, parse,];
        } },
    ...{ onBlur: (...[$event]) => {
            return (__VLS_ctx.emit('blur', $event));
            // @ts-ignore
            [emit,];
        } },
    id: (__VLS_ctx.inputId),
    ...{ class: "ks-native-input" },
    type: "number",
    value: (__VLS_ctx.modelValue ?? ''),
    disabled: (__VLS_ctx.disabled),
    'aria-invalid': (__VLS_ctx.invalid || undefined),
    min: (__VLS_ctx.min),
    max: (__VLS_ctx.max),
    step: (__VLS_ctx.maxFractionDigits ? 1 / 10 ** __VLS_ctx.maxFractionDigits : 1),
});
/** @type {__VLS_StyleScopedClasses['ks-native-input']} */ ;
// @ts-ignore
[inputId, modelValue, disabled, invalid, min, max, maxFractionDigits, maxFractionDigits,];
const __VLS_export = (await import('vue')).defineComponent({
    __typeEmits: {},
    __typeProps: {},
});
export default {};
