export interface ManagedTunnelConfig { host?: string | undefined | null; token?: string | undefined | null; acmeAccountKey?: string | undefined | null; certificate?: { chain: string; certificate: string; privateKey: string; }; } export declare class ManagedTunnel { readonly port: number; private _tlsPort; private _config; private _tunnel; private _acmeKeys; private _tlsServer; private _isReady; private _isConnected; private _enabled; private _connections; onHostnameRegistered?: (host: string, token: string) => Promise; onCertificateUpdated?: (cert: { chain: string; certificate: string; privateKey: string; }) => Promise; onACMEAccountKeyCreated?: (accountKey: string) => Promise; onConnected?: () => void; onDisconnected?: () => void; onReady?: () => void; constructor(port: number, config: ManagedTunnelConfig); get ready(): boolean; get connected(): boolean; start: () => void; enable(): void; disable(): void; private _ensureRegistration; private _startTunnel; private _tunnelOpen; private _onReady; private _handleWk; private _handleIncomingSocket; private _fetchNewCertificates; private _refreshCertificateService; }