/// /** * Watches the given nodes for value changes. * @emit {ReadStream.ReadResult} Emits `change` events when a watched node changes. */ export default class Watcher extends Emitter { /** * Creates a new Watcher with the given nodes. * @param {NodeId[]} nodes The nodes to watch (recursively). */ constructor(nodes?: any[]); /** * The browser used to subscribe to server nodes. * @type {NodeBrowser} */ _nodeBrowser: NodeBrowser; /** * Resolved once the server subscription is set up. * @type {Promise} */ subscriptionStarted: Promise; /** * Initializes a server subscription. * @return {Promise} A setup subscription. */ _setupSubscription(): Promise; /** The current session, if connected @type {Session} */ _session: any; /** * Subscribes to value changes of a single node. * @param {BrowsedNode} node A browsed node. */ _subscribe(node: any): Promise; /** * Called once a change has been detected and emits a 'change' or 'delete' event. * @param {Object} node The node that changed. * @param {?node-opcua~Variant} dataValue The current value. */ _handleChange({ nodeId }: any, dataValue: any): void; /** * Ends monitoring nodes. */ close(): void; } import Emitter from "events"; import NodeBrowser from "./NodeBrowser";