import { BehaviorSubject } from 'rxjs'; import type { SpiderMeshNode } from './types.js'; export type RegistryPickRpcTargetOptions = { node_id?: string; filter?: (node: SpiderMeshNode) => boolean; }; export declare class Registry { #private; readonly nodes$: BehaviorSubject>; getPeer(nodeId: string): SpiderMeshNode | undefined; upsertPeer(node: SpiderMeshNode): SpiderMeshNode; removePeer(nodeId: string): boolean; listPeers(service?: string): SpiderMeshNode[]; watch(service?: string): import("rxjs").Observable; pickRpcNode(service: string, options?: RegistryPickRpcTargetOptions): string | null; getRpcTransporterName(service: string): string | undefined; listTopicNodes(topic: string): SpiderMeshNode[]; }