export interface RestartOptions {
    pm2Version?: string;
}
export declare function isElectronChild(): boolean;
export declare function detectProcessManager(): "pm2" | "systemd" | "electron" | null;
/**
 * Restart the current process.
 *
 * If running under a process manager (pm2 / systemd), delegates to it.
 * Otherwise replaces the current process via execFileSync (Unix exec
 * semantics — the new process inherits the same PID, stdio, and
 * controlling terminal).
 *
 * @param delayMs - delay before restarting (gives in-flight I/O time to flush)
 * @param onBeforeRestart - optional async callback invoked just before the
 *   process exits; used for graceful shutdown (stop channels, flush queues).
 *
 * NOTE: This function schedules the restart and returns immediately.
 * The process will exit/be replaced after `delayMs`.
 */
export declare function scheduleRestart(delayMs?: number, onBeforeRestart?: () => Promise<void>, options?: RestartOptions): void;
//# sourceMappingURL=restart.d.ts.map