import { DataValue, TimestampsToReturn } from "node-opcua-data-value"; import { MonitoringMode } from "node-opcua-types"; import { ReadValueIdOptions, MonitoringParametersOptions, CreateSubscriptionRequestOptions } from "node-opcua-types"; import { IBasicSessionAsync } from "./basic_session_interface"; export interface IBasicMonitoredItem { on(eventName: "changed", eventHandler: (dataValue: DataValue) => void): this; once(eventName: "changed", eventHandler: (dataValue: DataValue) => void): this; } export interface IBasicSubscription { subscriptionId: number; _createMonitoredItem( itemToMonitor: ReadValueIdOptions, monitoringParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn ): IBasicMonitoredItem; monitor( itemToMonitor: ReadValueIdOptions, requestedParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, monitoringMode?: MonitoringMode ): Promise; terminate(): Promise; } export interface IBasicSessionEx extends IBasicSessionAsync { requestedMaxReferencesPerNode: number; isReconnecting: boolean; createSubscription2(createSubscriptionRequest: CreateSubscriptionRequestOptions): Promise; }