/** * @module node-opcua-client-private */ import { EventEmitter } from "node:events"; import type { ReadValueIdOptions, TimestampsToReturn } from "node-opcua-service-read"; import { MonitoringMode, type MonitoringParametersOptions, type NotificationMessage, type SetTriggeringResponse } from "node-opcua-service-subscription"; import { type Callback, type ErrorCallback, type StatusCode } from "node-opcua-status-code"; import type { ClientMonitoredItem } from "../client_monitored_item"; import type { ClientMonitoredItemBase } from "../client_monitored_item_base"; import type { ClientMonitoredItemGroup } from "../client_monitored_item_group"; import type { ClientSession, MonitoredItemData, SubscriptionId } from "../client_session"; import { type ClientHandle, type ClientMonitoredItemBaseMap, ClientSubscription, type ClientSubscriptionOptions, type ModifySubscriptionOptions, type ModifySubscriptionResult } from "../client_subscription"; import { ClientMonitoredItemGroupImpl } from "./client_monitored_item_group_impl"; import type { ClientSidePublishEngine } from "./client_publish_engine"; import type { ClientSessionImpl } from "./client_session_impl"; export declare const PENDING_SUBSCRIPTION_ID = 3234512922; export declare const TERMINATED_SUBSCRIPTION_ID = 3234512923; export declare const TERMINATING_SUBSCRIPTION_ID = 3234512924; export declare class ClientSubscriptionImpl extends EventEmitter implements ClientSubscription { #private; /** * the associated session * @property session * @type {ClientSession} */ get session(): ClientSessionImpl; get hasSession(): boolean; get isActive(): boolean; subscriptionId: SubscriptionId; publishingInterval: number; lifetimeCount: number; maxKeepAliveCount: number; maxNotificationsPerPublish: number; publishingEnabled: boolean; priority: number; get monitoredItems(): ClientMonitoredItemBaseMap; set monitoredItems(value: ClientMonitoredItemBaseMap); timeoutHint: number; publishEngine: ClientSidePublishEngine; lastSequenceNumber: number; hasTimedOut: boolean; constructor(session: ClientSession, options: ClientSubscriptionOptions); terminate(): Promise; terminate(callback: ErrorCallback): void; /** */ _nextClientHandle(): number; monitor(itemToMonitor: ReadValueIdOptions, requestedParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn): Promise; monitor(itemToMonitor: ReadValueIdOptions, requestedParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, monitoringMode: MonitoringMode): Promise; monitor(itemToMonitor: ReadValueIdOptions, requestedParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, monitoringMode: MonitoringMode, callback: Callback): void; monitorItems(itemsToMonitor: ReadValueIdOptions[], requestedParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn): Promise; monitorItems(itemsToMonitor: ReadValueIdOptions[], requestedParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, callback: Callback): void; _delete_monitored_items(monitoredItems: ClientMonitoredItemBase[], callback: ErrorCallback): void; setPublishingMode(publishingEnabled: boolean): Promise; setPublishingMode(publishingEnabled: boolean, callback: Callback): void; /** * */ setTriggering(triggeringItem: ClientMonitoredItemBase, linksToAdd: ClientMonitoredItemBase[] | null, linksToRemove?: ClientMonitoredItemBase[] | null): Promise; setTriggering(triggeringItem: ClientMonitoredItemBase, linksToAdd: ClientMonitoredItemBase[] | null, linksToRemove: ClientMonitoredItemBase[] | null, callback: Callback): void; modify(options: ModifySubscriptionOptions, callback: Callback): void; modify(options: ModifySubscriptionOptions): Promise; getMonitoredItems(): Promise; getMonitoredItems(callback: Callback): void; toJSON(): Record; toString(): string; /** * returns the approximated remaining life time of this subscription in milliseconds */ evaluateRemainingLifetime(): number; _add_monitored_item(clientHandle: ClientHandle, monitoredItem: ClientMonitoredItemBase): void; _add_monitored_items_group(monitoredItemGroup: ClientMonitoredItemGroupImpl): void; _wait_for_subscription_to_be_ready(done: ErrorCallback): void; private __on_publish_response_DataChangeNotification; private __on_publish_response_StatusChangeNotification; private __on_publish_response_EventNotificationList; onNotificationMessage(notificationMessage: NotificationMessage): void; private _terminate_step2; private _remove; _removeMonitoredItem(clientHandle: ClientHandle): void; _removeGroup(monitoredItemGroup: ClientMonitoredItemGroup): void; /** * @private * @param itemToMonitor * @param monitoringParameters * @param timestampsToReturn */ _createMonitoredItem(itemToMonitor: ReadValueIdOptions, monitoringParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, monitoringMode?: MonitoringMode): ClientMonitoredItem; } export declare function ClientMonitoredItem_create(subscription: ClientSubscription, itemToMonitor: ReadValueIdOptions, monitoringParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, monitoringMode?: MonitoringMode, callback?: (err3?: Error | null, monitoredItem?: ClientMonitoredItem) => void): ClientMonitoredItem; export declare function __create_subscription(subscription: ClientSubscriptionImpl, callback: ErrorCallback): void;