import { Observable, Subject } from 'rxjs'; import type { DiscoveryEvent, DiscoveryTransporter, MdnsMessage, NodeMetadata, NodeRef, ServiceDirectory } from '@spider-mesh/core'; export type WebsocketDiscoveryClientOptions = { reconnectIntervalMs?: number; heartbeatIntervalMs?: number; }; export declare class WebsocketDiscoveryClient extends Subject implements DiscoveryTransporter, ServiceDirectory { #private; private readonly url; private readonly options; constructor(url: string, options?: WebsocketDiscoveryClientOptions); broadcast(data: MdnsMessage): Promise; watchService(service: string): Observable; listNodes(service: string): NodeRef[]; }