import type { ErrorCallback } from "node-opcua-status-code"; import { ClientTransportBase } from "./client_transport_base.js"; import type { IClientTransportFactory, TransportSettingsOptions } from "./i_client_transport.js"; import type { ISocketLike } from "./tcp_transport.js"; /** * A socket that a `ClientReverseConnect` listener has accepted from a Server and for which the * ReverseHello has already been read and validated. `serverUri`/`endpointUrl` come from that RHE. */ export interface IAcceptedReverseConnection { socket: ISocketLike; serverUri: string; endpointUrl: string; } /** * Supplies the next accepted reverse connection. Invoked once per `connect()` attempt so that * backoff/reconnection naturally waits for the server to re-dial. */ export type ReverseConnectionProvider = () => Promise; export declare class ReverseClientTCP_transport extends ClientTransportBase { #private; constructor(provider: ReverseConnectionProvider, transportSettings?: TransportSettingsOptions); dispose(): void; /** * Adopt the next server-dialed socket and perform the HEL/ACK handshake on it. * The `endpointUrl` argument is ignored: the real EndpointUrl is taken from the RHE. */ connect(endpointUrl: string, callback: ErrorCallback): void; } /** * Build an `IClientTransportFactory` that yields {@link ReverseClientTCP_transport}s wired to * `provider`. Pass this as `OPCUAClientOptions.transportFactory` to make an OPCUAClient wait for * a server-initiated (reverse) connection instead of dialing out. */ export declare function makeReverseClientTransportFactory(provider: ReverseConnectionProvider): IClientTransportFactory; //# sourceMappingURL=reverse_client_tcp_transport.d.ts.map