import type { BroadcastIconsChangeMessage, IconMeta, IconsCollection, SvgIcon } from './registry/types.js'; type IconBroadcastEvent = MessageEvent | PageTransitionEvent; /** * Manages cross-context synchronization of icon state using the BroadcastChannel API. * * @remarks * This class enables icon registry state to be shared between different browsing contexts * (e.g., iframes, tabs) within the same origin. It specifically handles synchronization * with Angular elements that may be running in separate contexts. * * The broadcast channel is automatically created on page show and disposed on page hide * to properly handle bfcache (back/forward cache) scenarios. */ export declare class IconsStateBroadcast { private static readonly _origin; private readonly _iconsCollection; private readonly _iconReferences; private _channel; /** * Creates an instance of IconsStateBroadcast. * * @param iconsCollection - The collection of registered SVG icons. * @param iconReferences - The collection of icon references/aliases. */ constructor(iconsCollection: IconsCollection, iconReferences: IconsCollection); /** * Sends a message to other browsing contexts via the broadcast channel. */ send(data: BroadcastIconsChangeMessage): void; /** @internal */ handleEvent(event: IconBroadcastEvent): void; private _syncState; private _create; private _dispose; private _getUserRefsCollection; private _getUserSetCollection; } export {};