import { Subject } from 'rxjs'; import type { PubSub } from './types'; export type * from './types'; export declare class PubSubM implements PubSub { readonly bus$: Subject; pub(msg: Message): void; end(): void; } export declare class PubSubBC extends PubSubM { readonly bus: string; readonly ch: BroadcastChannel; constructor(bus: string); pub(msg: Message): void; end(): void; } /** * Creates new cross-tab pubsub broadcast channel. Own messages are also received. * * @param bus The name of the broadcast bus, where messages will be published. * @returns A PubSub instance that publishes messages to the specified bus. */ export declare const pubsub: (bus: string) => PubSub;