/** * Overlay dialog modal. Renders via Vue `` to body. * * 🤖 **AI Agent Usage Notes (Zero-Raw-HTML Adherence)**: * - ⛔ NEVER use Tailwind `fixed inset-0` or manual z-index to build modals. * - Always use `` with `v-model`. * - For size, use `variant="sm"`, `variant="md"`, `variant="lg"`. * - Do NOT pass raw Tailwind classes for padding/margins. */ interface LuModalProps { /** Controls visibility of the modal. Use `v-model` to bind. */ modelValue: boolean; /** Modal title, rendered in the header slot if provided. */ title?: string; /** Visual variant. Resolves to BEM modifier `lu-modal--{variant}`. */ variant?: string; /** Whether to show a close button in the header. @default true */ closable?: boolean; /** Whether clicking the overlay backdrop closes the modal. @default true */ closeOnOverlayClick?: boolean; } declare var __VLS_13: {}, __VLS_28: {}, __VLS_30: {}; type __VLS_Slots = {} & { header?: (props: typeof __VLS_13) => any; } & { default?: (props: typeof __VLS_28) => any; } & { footer?: (props: typeof __VLS_30) => any; }; declare const __VLS_component: import("vue").DefineComponent any; close: () => any; }, string, import("vue").PublicProps, Readonly & Readonly<{ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined; onClose?: (() => any) | undefined; }>, { closable: boolean; closeOnOverlayClick: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>; declare const _default: __VLS_WithSlots; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };