export interface Subscription { unsubscribe(): void; } export type SubscriptionHandler = (message?: string | symbol | number | boolean) => void; export declare class EventBus { id: string; subscriptions: WeakMap>; constructor(id?: string); publish: (topic: Topic, message?: Parameters[0]) => void; subscribe: (topic: Topic, handler: SubscriptionHandler) => Subscription; }