import { PropType } from 'vue';
import { XEvent } from '../../wiring/events.types';
/**
 * Component containing a modal that emits a {@link XEventsTypes.UserClickedCloseEventsModal} when
 * clicking outside the content rendered in the default slot and can receive, through the
 * eventsToCloseModal prop, a list of {@link XEvent} to listen to in order to close
 * also the modal, eventsToOpenModal prop,  another list of {@link XEvent} to customize
 * the events to listen to open the modal and a prop, displayOverlay, to display an
 * overlay over the rest of the html. The default slot offers the possibility to customize the
 * modal content.
 *
 * @public
 */
declare const _default: import("vue").DefineComponent<{
    /** Array of {@link XEvent} to listen to open the modal. */
    eventsToOpenModal: {
        type: PropType<(keyof import("../../wiring/events.types").XEventsTypes)[]>;
        default: () => XEvent[];
    };
    /** Array of {@link XEvent} to listen to close the modal. */
    eventsToCloseModal: {
        type: PropType<(keyof import("../../wiring/events.types").XEventsTypes)[]>;
        default: () => XEvent[];
    };
    /** Event to emit when any part of the website out of the modal has been clicked. */
    bodyClickEvent: {
        type: PropType<keyof import("../../wiring/events.types").XEventsTypes>;
        default: string;
    };
    /** Animation to use for opening/closing the modal. */
    animation: (StringConstructor | ObjectConstructor | FunctionConstructor)[];
}, {
    isOpen: import("vue").Ref<boolean>;
    openerElement: import("vue").Ref<HTMLElement | undefined>;
    baseModalEl: import("vue").Ref<HTMLElement | undefined>;
    emitBodyClickEvent: (event: MouseEvent | FocusEvent) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /** Array of {@link XEvent} to listen to open the modal. */
    eventsToOpenModal: {
        type: PropType<(keyof import("../../wiring/events.types").XEventsTypes)[]>;
        default: () => XEvent[];
    };
    /** Array of {@link XEvent} to listen to close the modal. */
    eventsToCloseModal: {
        type: PropType<(keyof import("../../wiring/events.types").XEventsTypes)[]>;
        default: () => XEvent[];
    };
    /** Event to emit when any part of the website out of the modal has been clicked. */
    bodyClickEvent: {
        type: PropType<keyof import("../../wiring/events.types").XEventsTypes>;
        default: string;
    };
    /** Animation to use for opening/closing the modal. */
    animation: (StringConstructor | ObjectConstructor | FunctionConstructor)[];
}>>, {
    eventsToOpenModal: (keyof import("../../wiring/events.types").XEventsTypes)[];
    eventsToCloseModal: (keyof import("../../wiring/events.types").XEventsTypes)[];
    bodyClickEvent: keyof import("../../wiring/events.types").XEventsTypes;
}, {}>;
export default _default;
//# sourceMappingURL=base-events-modal.vue?vue&type=script&lang.d.ts.map