import type { RefObject, ReactNode } from 'react'; import React from 'react'; export interface PubSubRegistry { /** * starts a connection to an iframe child. * Returns a destroy() function that will break the connection. */ connect(ref: HTMLIFrameElement): () => void; } export declare const pubsubRegistry: React.Context; export declare function createProvider(pubSubContext: PubSubRegistry): ({ children }: { children: ReactNode; }) => React.JSX.Element; export declare function usePubSub(): PubSubRegistry | undefined; export declare function usePubSubIframe(ref?: RefObject): void;