import { VNode } from 'vue'; export interface ModalUi { /** Full-screen overlay behind the dialog. */ overlay?: string; /** Fixed shell that positions the dialog. */ root?: string; /** Dialog surface. */ dialog?: string; /** Top bar with icon, title, and close button. */ header?: string; /** Optional icon next to the title. */ icon?: string; /** Modal title (`h2`). */ title?: string; /** Close icon button. */ close?: string; /** Body wrapper (description + default slot). */ body?: string; /** Description paragraph. */ description?: string; /** Footer actions region. */ footer?: string; /** Optional footer link. */ link?: string; } /** * A modal is a dialog window that appears on top of the main content, requiring * user interaction before returning to the main interface. Use it for a single * focused task, important information, or a confirmation. * * Also known as **dialog**, **lightbox**, or **popup**. */ type __VLS_Props = { /** * If `true`, display the modal. */ open?: boolean; /** * Title of the modal. */ title?: string; /** * Description of the modal. */ description?: string; /** * If `true`, display the close button. */ closable?: boolean; /** * If `false`, lock page scroll while the modal is open. */ scroll?: boolean; /** * If `true`, close the modal when clicking the overlay. */ closeOnOverlay?: boolean; /** * Tailwind class overrides per structural part. * Merged with `defaultModalUi` via `cn()` — conflicting utilities win. */ ui?: ModalUi; }; type __VLS_Slots = { /** * Use this slot to insert an icon next to the title of the modal. */ icon?: () => VNode[]; /** * Use this slot to insert the content of the modal. */ default?: () => VNode[]; /** * Use this slot to insert a link in the footer. */ link?: () => VNode[]; /** * Use this slot to insert buttons in the footer. */ footer?: () => VNode[]; }; declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { "update:open": (value: boolean) => any; }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{ "onUpdate:open"?: ((value: boolean) => any) | undefined; }>, { open: boolean; closable: boolean; scroll: boolean; closeOnOverlay: boolean; ui: ModalUi; }, {}, {}, {}, 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; }; }; //# sourceMappingURL=index.vue.d.ts.map