import type { IEventDetail } from '@breadstone/mosaik-elements'; /** * Represents the event detail for portal attached events. * * @public */ export interface IPortalAttachedEventDetail extends IEventDetail { /** * The attached element. */ readonly element?: HTMLElement; /** * The destination element. */ readonly destination: Element; /** * The projected element. */ readonly projection: unknown; /** * The elements in the projection. */ readonly elements?: ReadonlyArray; } /** * Event fired when an element is attached to a portal. * * @public */ export type PortalAttachedEvent = CustomEvent; /** * Represents the event detail for portal detached events. * * @public */ export interface IPortalDetachedEventDetail extends IEventDetail { /** * The detached element. */ readonly element?: HTMLElement; /** * The destination element. */ readonly destination: Element; /** * The projected element. */ readonly projection: unknown; } /** * Event fired when an element is detached from a portal. * * @public */ export type PortalDetachedEvent = CustomEvent; declare global { interface HTMLElementEventMap { portalAttached: PortalAttachedEvent; portalDetached: PortalDetachedEvent; } } //# sourceMappingURL=PortalEvents.d.ts.map