import type { Server, ServerResponse } from 'node:http'; /** HTTP-layer owner for the daemon's permanent SSE response state. */ export interface DaemonSseRegistry { readonly size: number; add(response: ServerResponse): void; delete(response: ServerResponse): void; broadcast(message: string): void; closeAll(): void; } export declare function createDaemonSseRegistry(): DaemonSseRegistry; /** Server-wide owner for responses whose handler returned without ending them. */ export interface DaemonDetachedResponseRegistry { readonly size: number; track(response: ServerResponse): void; closeAll(): void; } export declare function createDaemonDetachedResponseRegistry(): DaemonDetachedResponseRegistry; /** * Close permanent HTTP streams first, then stop admission and wait for the * server's finite callbacks to drain while their dependencies are still live. */ export declare function closeDaemonHttpServer(server: Pick, detachedResponses: DaemonDetachedResponseRegistry): Promise; //# sourceMappingURL=http-lifecycle.d.ts.map