import './utils/disposable'; import type { Unsubscribe } from './types'; export declare class MessageBus implements Disposable { private readonly tabId; private channel; private listeners; private pendingRequests; constructor(channelName: string, tabId: string); subscribe(topic: string, fn: (data: T) => void): Unsubscribe; publish(topic: string, data: T): void; broadcast(topic: string, data: T): void; request(topic: string, data: T, timeout?: number): Promise; respond(topic: string, fn: (data: T) => R | Promise): Unsubscribe; private handleMessage; private postMessage; private createMessage; private addListener; private removeListener; [Symbol.dispose](): void; }