/// import type * as x from 'x-value'; import type { OutLogContext } from '../@log/index.js'; import type { RouteMatchOptions } from '../router.js'; export type TunnelOptions = { alias?: string; host: string; port?: number; password?: string; ca?: string | Buffer; rejectUnauthorized?: boolean; match?: RouteMatchOptions; }; export type TunnelId = x.Nominal<'tunnel id', number>; export declare class Tunnel { readonly id: TunnelId; readonly context: OutLogContext; readonly alias: string | undefined; readonly authority: string; readonly password: string | undefined; readonly ca: string | Buffer | undefined; readonly rejectUnauthorized: boolean; private routeMatchOptions; private session; private sessionConfigured; private continuousAttempts; private reconnectTimer; constructor(id: TunnelId, { host, port, password, ca, rejectUnauthorized, match: routeMatchOptions, alias, }: TunnelOptions); configure(routeMatchOptions: RouteMatchOptions): void; private connect; private scheduleReconnect; private _configure; private handleInOutStream; }