/** * The session host's listener. * * It binds the box's loopback address and nothing else. The Outpost's private * port-forward is the only way in from a Mac, and the SSM agent dials the box's * own localhost — so a network interface is never needed, and binding one would * put Claude sessions on the box's network. */ import { type ConnectionDeps } from "./session-host-connection.js"; import type { SessionManager } from "./session-host-sessions.js"; export interface SessionHostServerOptions { host?: string; port: number; sessions: SessionManager; connection: Omit; } export interface SessionHostServer { address: string; port: number; /** Stop accepting connections, settle accepted request handlers, and close clients. */ drain(): Promise; close(): Promise; } /** Names are ambiguous and interfaces are public; only the two literals pass. */ export declare function assertLoopbackHost(host: string): void; /** Stay one minute below hq-cli's 15-minute drain cap, including final shutdown. */ export declare const SESSION_HOST_DRAIN_MAX_MS: number; export declare function startSessionHostServer(options: SessionHostServerOptions): Promise; //# sourceMappingURL=session-host-server.d.ts.map