import { type Context } from '@dxos/context'; import { type EdgeConnection } from '@dxos/edge-client'; import { type Message } from '@dxos/protocols/buf/dxos/edge/messenger_pb'; /** * In-memory stand-in for the EDGE router + swarm, feature-complete for the messaging paths * {@link EdgeSignalManager} exercises: swarm membership (JOIN/LEAVE), tag subscriptions (SUBSCRIBE), * point-to-point relay, and tag broadcast fan-out (DX-1125). Multiple {@link TestEdgeConnection}s * attach to one mesh, so a broadcast from one client is delivered to the matching subscribers of * another — mirroring the real edge without a WebSocket or Durable Object. */ export declare class TestEdgeMesh { /** peerKey -> connection. */ private readonly _connections; /** swarmKey -> (peerKey -> subscription tags). */ private readonly _subscriptions; /** swarmKey -> set of member peerKeys. */ private readonly _members; createConnection({ peerKey, identityDid }: { peerKey: string; identityDid: string; }): TestEdgeConnection; removeConnection(peerKey: string): void; /** Handle a message sent by a client connection. */ receive(fromPeerKey: string, message: Message): void; private _handleSwarmRequest; private _handleSignal; private _memberSet; private _subscriptionMap; } /** * In-memory {@link EdgeConnection} bound to a {@link TestEdgeMesh}. Only the members * {@link EdgeSignalManager} uses are functional; the rest are inert stubs. */ export declare class TestEdgeConnection implements EdgeConnection { readonly statusChanged: EdgeConnection['statusChanged']; private readonly _messageListeners; private readonly _peerKey; private readonly _identityDid; private readonly _mesh; constructor({ peerKey, identityDid, mesh }: { peerKey: string; identityDid: string; mesh: TestEdgeMesh; }); get info(): any; get identityDid(): string; get peerKey(): string; get isOpen(): boolean; get status(): EdgeConnection['status']; setIdentity(): void; send(_ctx: Context, message: Message): Promise; onMessage(listener: (message: Message) => void): () => void; onReconnected(listener: () => void, opts?: { emitCurrentState?: boolean; }): () => void; /** Deliver a message from the mesh to this connection's listeners. */ deliver(message: Message): void; open(): Promise; close(): Promise; } //# sourceMappingURL=test-edge-mesh.d.ts.map