import { type PartialWithUndefined } from '@augment-vir/common';
/**
 * A modal element that uses the built-in `dialog` element.
 *
 * @category Elements
 * @see https://electrovir.github.io/vira/book/elements/vira-modal
 */
export declare const ViraModal: import("element-vir").DeclarativeElementDefinition<`vira-${string}`, {
    open: boolean;
} & PartialWithUndefined<{
    /** If this isn't set, make sure to use the modal title slot to fill it in. */
    modalTitle: string;
    /**
     * If `true`, the following conditions trigger the modal to close:
     *
     * - The user clicks the "x" close button
     * - The `open` input is set to `false`
     *
     * If set to `false` (the default), the following conditions trigger the modal to close:
     *
     * - The user clicks outside of the modal
     * - The user presses the "Escape" key
     * - The user clicks the "x" close button
     * - The `open` input is set to `false`
     *
     * @default false
     */
    blockLightDismissal: boolean;
    modalSubtitle: string;
    isMobileSize: boolean;
    noContentPadding: boolean;
}>, {
    dialogElement: HTMLDialogElement | undefined;
    contentElement: HTMLDivElement | undefined;
    previousOpenValue: undefined | boolean;
    /** Remove listeners. */
    cleanupListeners: undefined | (() => void);
}, {
    modalClose: import("element-vir").DefineEvent<void>;
}, "vira-modal-phone-size" | "vira-modal-no-content-padding", "vira-modal-backdrop-filter", readonly ["vira-modal-modal-title"], readonly []>;
