/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Destructable, Environment, RuntimeService } from "@matter/general";
/**
 * ProcessManager watches Node.js signals SIGINT and SIGUSR2 to terminate the Matter.js runtime and trigger Matter.js
 * diagnostics respectively.  It sets the process exit code to 0 if the runtime completes without error and to 1 if the
 * runtime crashes.
 *
 * If enabled, SIGINT will perform a soft interrupt of the runtime once.  ProcessManager will not process subsequent
 * interrupts so they will result in forced exit if no other handler exists.
 *
 * {@link NodeJsEnvironment} installs a ProcessManager into the default Matter.js {@link Environment}.
 *
 * You can modify behavior by:
 *
 *   - Passing an {@link Environment} other than {@link Environment.default} to your components
 *
 *   - Disabling signal and exit code support with {@link VariableService} variables "runtime.signals" and
 *     "runtime.exitcode" respectively
 *
 *   - Destroying ProcessManager in the default environment using {@link ProcessManager.close}
 *
 *   - Subclassing ProcessManager, overriding specific functionality, and installing with {@link Environment.set}
 */
export declare class ProcessManager implements Destructable {
    #private;
    protected env: Environment;
    protected runtime: RuntimeService;
    constructor(env: Environment);
    close(): void;
    [Symbol.dispose](): void;
    protected get hasSignalSupport(): true;
    protected get hasExitCodeSupport(): true;
    protected get hasUnhandledErrorSupport(): true;
    protected startListener: () => void;
    protected stopListener: () => void;
    protected crashListener: () => void;
    protected interruptHandler: () => void;
    protected abortHandler: () => never;
    protected exitHandler: () => void;
    protected diagnosticHandler: () => void;
    protected installInterruptHandlers: () => void;
    protected uninstallInterruptHandlers: () => void;
}
//# sourceMappingURL=ProcessManager.d.ts.map