import { computed, useId } from 'vue';
import { useUiAdapter } from '../adapter/useUiAdapter';
const props = defineProps();
const emit = defineEmits();
const adapter = useUiAdapter();
const generatedId = useId();
const resolvedId = computed(() => props.inputId ?? `ks-select-${generatedId}`);
const __VLS_ctx = {
    ...{},
    ...{},
    ...{},
    ...{},
    ...{},
};
let __VLS_components;
let __VLS_intrinsics;
let __VLS_directives;
__VLS_asFunctionalElement1(__VLS_intrinsics.div, __VLS_intrinsics.div)({
    ...{ class: "ks-field" },
});
/** @type {__VLS_StyleScopedClasses['ks-field']} */ ;
__VLS_asFunctionalElement1(__VLS_intrinsics.label, __VLS_intrinsics.label)({
    for: (__VLS_ctx.resolvedId),
});
(__VLS_ctx.label);
if (__VLS_ctx.required) {
    __VLS_asFunctionalElement1(__VLS_intrinsics.span, __VLS_intrinsics.span)({
        'aria-hidden': "true",
    });
}
const __VLS_0 = (__VLS_ctx.adapter.components.Select);
// @ts-ignore
const __VLS_1 = __VLS_asFunctionalComponent1(__VLS_0, new __VLS_0({
    ...{ 'onUpdate:modelValue': {} },
    ...{ 'onBlur': {} },
    inputId: (__VLS_ctx.resolvedId),
    modelValue: (__VLS_ctx.modelValue),
    options: (__VLS_ctx.options),
    disabled: (__VLS_ctx.disabled),
    invalid: (Boolean(__VLS_ctx.error)),
    placeholder: (__VLS_ctx.placeholder),
}));
const __VLS_2 = __VLS_1({
    ...{ 'onUpdate:modelValue': {} },
    ...{ 'onBlur': {} },
    inputId: (__VLS_ctx.resolvedId),
    modelValue: (__VLS_ctx.modelValue),
    options: (__VLS_ctx.options),
    disabled: (__VLS_ctx.disabled),
    invalid: (Boolean(__VLS_ctx.error)),
    placeholder: (__VLS_ctx.placeholder),
}, ...__VLS_functionalComponentArgsRest(__VLS_1));
let __VLS_5;
const __VLS_6 = {
    /** @type {typeof __VLS_5.'update:modelValue'} */
    'onUpdate:modelValue': (...[$event]) => {
        return (__VLS_ctx.emit('update:modelValue', $event));
        // @ts-ignore
        [resolvedId, resolvedId, label, required, adapter, modelValue, options, disabled, error, placeholder, emit,];
    },
};
const __VLS_7 = {
    /** @type {typeof __VLS_5.blur} */
    onBlur: (...[$event]) => {
        return (__VLS_ctx.emit('blur', $event));
        // @ts-ignore
        [emit,];
    },
};
var __VLS_3;
var __VLS_4;
if (__VLS_ctx.error || __VLS_ctx.help) {
    __VLS_asFunctionalElement1(__VLS_intrinsics.small, __VLS_intrinsics.small)({
        ...{ class: ({ 'ks-danger-text': __VLS_ctx.error }) },
    });
    /** @type {__VLS_StyleScopedClasses['ks-danger-text']} */ ;
    (__VLS_ctx.error ?? __VLS_ctx.help);
}
// @ts-ignore
[error, error, error, help, help,];
const __VLS_export = (await import('vue')).defineComponent({
    __typeEmits: {},
    __typeProps: {},
});
export default {};
