import { nextTick, ref, watch } from 'vue';
const props = defineProps();
const emit = defineEmits();
const element = ref(null);
watch(() => props.visible, async (visible) => { await nextTick(); const dialog = element.value; if (!dialog)
    return; if (visible && !dialog.open)
    props.modal === false ? dialog.show() : dialog.showModal(); if (!visible && dialog.open)
    dialog.close(); }, { immediate: true });
function close() { emit('update:visible', false); }
const __VLS_ctx = {
    ...{},
    ...{},
    ...{},
    ...{},
    ...{},
};
let __VLS_components;
let __VLS_intrinsics;
let __VLS_directives;
__VLS_asFunctionalElement1(__VLS_intrinsics.dialog, __VLS_intrinsics.dialog)({
    ...{ onClose: (__VLS_ctx.close) },
    ...{ onCancel: (__VLS_ctx.close) },
    ref: "element",
    ...{ class: "ks-native-dialog" },
});
/** @type {__VLS_StyleScopedClasses['ks-native-dialog']} */ ;
__VLS_asFunctionalElement1(__VLS_intrinsics.header, __VLS_intrinsics.header)({});
__VLS_asFunctionalElement1(__VLS_intrinsics.h2, __VLS_intrinsics.h2)({});
(__VLS_ctx.title);
__VLS_asFunctionalElement1(__VLS_intrinsics.button, __VLS_intrinsics.button)({
    ...{ onClick: (__VLS_ctx.close) },
    type: "button",
    'aria-label': "닫기",
});
__VLS_asFunctionalElement1(__VLS_intrinsics.section, __VLS_intrinsics.section)({});
var __VLS_0 = {};
__VLS_asFunctionalElement1(__VLS_intrinsics.footer, __VLS_intrinsics.footer)({});
var __VLS_2 = {};
// @ts-ignore
var __VLS_1 = __VLS_0, __VLS_3 = __VLS_2;
// @ts-ignore
[close, close, close, title,];
const __VLS_base = (await import('vue')).defineComponent({
    __typeEmits: {},
    __typeProps: {},
});
const __VLS_export = {};
export default {};
