import type winston from "winston";
interface ProcessGuardOptions {
    /** Injected in tests — defaults to the shared winston logger tagged [process]. */
    logger?: Pick<winston.Logger, "error">;
    /** Injected in tests — defaults to process.exit. */
    exit?: (code: number) => void;
}
interface InstalledHandlers {
    onUnhandledRejection: (reason: unknown) => void;
    onUncaughtException: (err: Error, origin: string) => void;
}
/**
 * Install the process-level guards. Idempotent — repeat calls (e.g. when the
 * backend is re-entered in tests) are no-ops. Returns the handlers that are
 * active after the call.
 */
export declare function installProcessGuards(options?: ProcessGuardOptions): InstalledHandlers;
/**
 * Remove the guards and reset install state. Test-only — production code
 * installs once at boot and never uninstalls.
 */
export declare function uninstallProcessGuards(): void;
export {};
//# sourceMappingURL=process-guards.d.ts.map