import { RemoteIngressManager, type IRemoteIngressFirewallConfig } from './classes.remoteingress-manager.js'; import type { IDcRouterRouteConfig, IRemoteIngressHubSettings, TRemoteIngressHubSettingsUpdate } from '../../dist_ts_interfaces/data/remoteingress.js'; import type { DcRouter } from '../classes.dcrouter.js'; /** * Generation-guarded lifecycle for the RemoteIngress tunnel hub: serialized * start/stop/restart of the Rust hub, edge mutations, route/firewall pushes, * and hub-settings updates that may require a SmartProxy restart. */ export declare class RemoteIngressHubLifecycle { private dcRouterRef; private lifecycleChain; private stopping; private generation; constructor(dcRouterRef: DcRouter); setup(): Promise; stop(): Promise; mutateEdges(mutation: (manager: RemoteIngressManager) => Promise, syncAllowedEdges?: boolean): Promise; updateRoutes(routes: IDcRouterRouteConfig[]): Promise; applyFirewallConfig(firewallConfig: IRemoteIngressFirewallConfig | undefined): Promise; updateHubSettings(updates: TRemoteIngressHubSettingsUpdate, updatedBy: string): Promise; private isGenerationCurrent; private queueTask; private stopTunnelHubLocked; private restartTunnelHubLocked; private startTunnelHubLocked; private resolveTlsConfig; }