IServiceDiscovery.watch(serviceName: string,listener: (instances: readonly ServiceInstance[]) => void): Promise<Unsubscribe>
Subscribes to instance-list changes for a service.
Push-based where the backend supports it (Consul blocking queries, Kubernetes watch streams) and interval-polled where it does not (DNS, static). The listener receives the full current list, never a delta.
listener: (instances: readonly ServiceInstance[]) => void
Called with the full instance list on every change
Promise<Unsubscribe>
Unsubscribe function that also stops the underlying watch