import type { UiUI } from '@teambit/ui'; import type { BitBaseEvent } from './bit-base-event'; import type { Callback } from './types'; type PubOptions = { /** forward the event to adjacent windows (including the preview iframe) */ propagate?: boolean; }; export declare class PubsubUI { private childApi?; private events; /** * subscribe to events */ sub: (topic: string, callback: Callback) => () => void; /** * publish event to all subscribers, including nested iframes. */ pub: (topic: string, event: BitBaseEvent, { propagate }?: PubOptions) => void; private connectToIframe; getPubSubContext(): ({ children }: { children: import("react").ReactNode; }) => import("react").JSX.Element; /** * publish event to all subscribers in this window */ private emitEvent; /** * publish event to nested iframes */ private pubToChild; static runtime: import("@teambit/harmony").RuntimeDefinition; static dependencies: import("@teambit/harmony").Aspect[]; static provider([uiUI]: [UiUI]): Promise; } export {};