import type { ProjectIndexServerMetadata } from './project-server-protocol.js'; export declare function removeMetadataIfOwned(metadataPath: string, pid: number): void; export declare function writeProjectServerMetadata(metadataPath: string, metadata: ProjectIndexServerMetadata): Promise; /** * One SIGINT/SIGTERM pair per PROCESS, not per module instance. * * The in-process test harness imports this module once per test case with a * `?case=` query URL, so every case evaluates this module body fresh; a * bare top-level `process.once(signal, ...)` pair accumulates one handler * per case until Node raises MaxListenersExceededWarning in every coverage * run. The guard lives on globalThis under a Symbol.for key: the first * evaluation registers the pair, every evaluation re-targets it at its own * `stop`, and a fired signal removes the pair (once semantics). */ export interface CodebaseIndexSignalGuard { arm(stop: (signal: string) => Promise): void; } export declare const SIGNAL_GUARD: unique symbol; export declare function armCodebaseIndexSignalGuard(stop: (signal: string) => Promise): void; //# sourceMappingURL=project-server-lifecycle.d.ts.map