import { Transport, Subscription, MessageHandler, RequestHandler } from "./transport.js"; /** * An in-memory implementation of the Transport interface, useful for testing * and single-node operation. It uses an EventEmitter to simulate channels. * * For multi-node testing, create multiple instances and wire them together * via a shared bus or use separate instances. */ export declare class InMemoryTransport implements Transport { private readonly bus; private readonly nodeId; private requestHandler?; private messageHandler?; private peers; constructor(nodeId: string); getNodeId(): string; connect(): Promise; disconnect(): Promise; updatePeers(peers: Array<[nodeId: string, address: string]>): void; /** * Manually wire another InMemoryTransport as a peer. * Only needed for multi-node testing scenarios. */ setPeer(nodeId: string, transport: InMemoryTransport): void; request(nodeId: string, message: any, timeout: number): Promise; send(nodeId: string, message: any): Promise; publish(topic: string, message: any): Promise; subscribe(topic: string, handler: MessageHandler): Promise; onRequest(handler: RequestHandler): void; onMessage(handler: MessageHandler): void; } //# sourceMappingURL=in_memory_transport.d.ts.map