import { EventEmitter } from 'node:events'; import type { WorkerMessage, WorkerMessageRequest, WorkerMessageRequestAny, WorkerMessageResponse, WorkerMessageResponseSuccess, WorkerMessageTypes, WorkerSrcType } from '@matterbridge/types'; import { type AnsiLogger } from 'node-ansi-logger'; interface BroadcastServerEvents { broadcast_message: [msg: WorkerMessage]; } export declare class BroadcastServer extends EventEmitter { readonly name: WorkerSrcType; private readonly log; private readonly channel; private readonly broadcastChannel; private closed; private readonly debug; private readonly verbose; constructor(name: WorkerSrcType, log: AnsiLogger, channel?: string); close(): void; private broadcastMessageHandler; private broadcastMessageErrorHandler; getUniqueId(): number; isWorkerRequest(value: unknown): value is WorkerMessageRequest; isWorkerRequestOfType(value: unknown, type: K): value is WorkerMessageRequest; isWorkerResponse(value: unknown): value is WorkerMessageResponse; isWorkerResponseOfType(value: unknown, type: K): value is WorkerMessageResponse; broadcast(message: WorkerMessage): void; request(message: WorkerMessageRequest): void; respond(message: WorkerMessageResponse): void; fetch>(message: T, timeout?: number): Promise>; } export {};