import { type OPCUACertificateManager } from "node-opcua-certificate-manager"; import { OPCUASecureObject } from "node-opcua-common"; import { type Certificate } from "node-opcua-crypto/web"; import type { IBasicTransportSettings, ResponseCallback } from "node-opcua-pseudo-session"; import { ClientSecureChannelLayer, type ConnectionStrategy, type ConnectionStrategyOptions, type SecurityPolicy } from "node-opcua-secure-channel"; import { type ServerOnNetwork } from "node-opcua-service-discovery"; import { type ApplicationDescription, type EndpointDescription } from "node-opcua-service-endpoints"; import { MessageSecurityMode } from "node-opcua-service-secure-channel"; import { type ErrorCallback } from "node-opcua-status-code"; import { type CreateSecureChannelCallbackFunc, type FindServersOnNetworkRequestLike, type FindServersRequestLike, type GetEndpointsOptions, OPCUAClientBase, type OPCUAClientBaseEvents, type OPCUAClientBaseOptions } from "../client_base"; import type { Request, Response } from "../common"; import type { UserIdentityInfo } from "../user_identity_info"; import type { ClientSessionImpl } from "./client_session_impl"; import type { IClientBase } from "./i_private_client"; type InternalClientState = "uninitialized" | "disconnected" | "connecting" | "connected" | "panic" | "reconnecting" | "reconnecting_newchannel_connected" | "disconnecting"; /** * @internal */ export declare class ClientBaseImpl extends OPCUASecureObject implements OPCUAClientBase, IClientBase { #private; /** * total number of requests that been canceled due to timeout */ get timedOutRequestCount(): number; /** * total number of transactions performed by the client x */ get transactionsPerformed(): number; /** * is true when the client has already requested the server end points. */ get knowsServerEndpoint(): boolean; /** * true if the client is trying to reconnect to the server after a connection break. */ get isReconnecting(): boolean; /** * true if the connection strategy is set to automatically try to reconnect in case of failure */ get reconnectOnFailure(): boolean; /** * total number of bytes read by the client */ get bytesRead(): number; /** * total number of bytes written by the client */ get bytesWritten(): number; securityMode: MessageSecurityMode; securityPolicy: SecurityPolicy; serverCertificate?: Certificate | Certificate[]; clientName: string; protocolVersion: 0; defaultSecureTokenLifetime: number; tokenRenewalInterval: number; connectionStrategy: ConnectionStrategy; keepPendingSessionsOnDisconnect: boolean; endpointUrl: string; discoveryUrl: string; readonly applicationName: string; private _applicationUri; defaultTransactionTimeout?: number; /** * true if session shall periodically probe the server to keep the session alive and prevent timeout */ keepSessionAlive: boolean; readonly keepAliveInterval?: number; _sessions: ClientSessionImpl[]; protected _serverEndpoints: EndpointDescription[]; _secureChannel: ClientSecureChannelLayer | null; private _byteRead; private _byteWritten; private _timedOutRequestCount; private _transactionsPerformed; private _reconnectionIsCanceled; private _clockAdjuster?; protected _tmpClient?: OPCUAClientBase; private _instanceNumber; private _transportSettings; private _transportTimeout?; clientCertificateManager: OPCUACertificateManager; isUnusable(): boolean; protected _setInternalState(internalState: InternalClientState): void; emit(eventName: K, ...others: unknown[]): boolean; constructor(options?: OPCUAClientBaseOptions); private _cancel_reconnection; _recreate_secure_channel(callback: ErrorCallback): void; _internal_create_secure_channel(connectionStrategy: ConnectionStrategyOptions, callback: CreateSecureChannelCallbackFunc): void; static createCertificate(clientCertificateManager: OPCUACertificateManager, certificateFile: string, applicationName: string, applicationUri: string): Promise; createDefaultCertificate(): Promise; protected _getBuiltApplicationUri(): string; protected initializeCM(): Promise; protected _internalState: InternalClientState; protected _handleUnrecoverableConnectionFailure(err: Error, callback: ErrorCallback): void; private _handleDisconnectionWhileConnecting; private _handleSuccessfulConnection; /** * connect the OPC-UA client to a server end point. */ connect(endpointUrl: string): Promise; connect(endpointUrl: string, callback: ErrorCallback): void; /** * @private */ _connectStep2(endpointUrl: string, callback: ErrorCallback): void; performMessageTransaction(request: Request, callback: ResponseCallback): void; /** * * return the endpoint information matching security mode and security policy. */ findEndpointForSecurity(securityMode: MessageSecurityMode, securityPolicy: SecurityPolicy): EndpointDescription | undefined; /** * * return the endpoint information matching the specified url , security mode and security policy. */ findEndpoint(endpointUrl: string, securityMode: MessageSecurityMode, securityPolicy: SecurityPolicy): EndpointDescription | undefined; getEndpoints(options?: GetEndpointsOptions): Promise; getEndpoints(options: GetEndpointsOptions, callback: ResponseCallback): void; getEndpoints(callback: ResponseCallback): void; /** * @deprecated */ getEndpointsRequest(options: GetEndpointsOptions, callback: ResponseCallback): void; /** */ findServers(options?: FindServersRequestLike): Promise; findServers(options: FindServersRequestLike, callback: ResponseCallback): void; findServers(callback: ResponseCallback): void; findServersOnNetwork(options?: FindServersOnNetworkRequestLike): Promise; findServersOnNetwork(callback: ResponseCallback): void; findServersOnNetwork(options: FindServersOnNetworkRequestLike, callback: ResponseCallback): void; _removeSession(session: ClientSessionImpl): void; private _closeSession; closeSession(session: ClientSessionImpl, deleteSubscriptions: boolean): Promise; closeSession(session: ClientSessionImpl, deleteSubscriptions: boolean, callback: ErrorCallback): void; disconnect(): Promise; disconnect(callback: ErrorCallback): void; _on_connection_reestablished(callback: ErrorCallback): void; toString(): string; getSessions(): ClientSessionImpl[]; getTransportSettings(): IBasicTransportSettings; protected _addSession(session: ClientSessionImpl): void; private fetchServerCertificate; private _accumulate_statistics; private _destroy_secure_channel; private _close_pending_sessions; private _install_secure_channel_event_handlers; /** * @internal * @private * * timeout to wait before client attempt to reconnect in case of failure * */ static retryDelay: number; private _repairConnection; private __innerRepairConnection; private _finalReconnectionStep; /** * * @internal * @private */ __createSession_step2(_session: ClientSessionImpl, _callback: (err: Error | null, session?: ClientSessionImpl) => void): void; _activateSession(_session: ClientSessionImpl, _userIdentity: UserIdentityInfo, _callback: (err: Error | null, session?: ClientSessionImpl) => void): void; } export {};