Modal: DefineComponent<
    ExtractPropTypes<
        {
            closeOnBackdrop: { default: boolean; type: BooleanConstructor };
            defaultOpen: { default: boolean; type: BooleanConstructor };
            open: { default: undefined; type: PropType<undefined | boolean> };
        },
    >,
    () => VNode<RendererNode, RendererElement, { [key: string]: any }>,
    {},
    {},
    {},
    ComponentOptionsMixin,
    ComponentOptionsMixin,
    "update:open"[],
    "update:open",
    PublicProps,
    ToResolvedProps<
        ExtractPropTypes<
            {
                closeOnBackdrop: { default: boolean; type: BooleanConstructor };
                defaultOpen: { default: boolean; type: BooleanConstructor };
                open: { default: undefined; type: PropType<undefined | boolean> };
            },
        >,
        "update:open"[],
    >,
    {
        closeOnBackdrop: boolean;
        defaultOpen: boolean;
        open: undefined
        | boolean;
    },
    {},
    {},
    {},
    string,
    ComponentProvideOptions,
    true,
    {},
    any,
> = ...

Dialog overlay on the native <dialog> plus the modal enhancer (focus trap, scroll-lock, background inert). Open state works uncontrolled (defaultOpen, or a command="show-modal" invoker button) or with v-model:open; Escape and backdrop clicks emit update:open. Compose with <ModalHeader>, <ModalBody>, <ModalFooter>.