declare const DEFAULT_HANDLED_SIGNALS: readonly ["SIGINT", "SIGTERM", "SIGHUP", "SIGQUIT"];
export type HandledShutdownSignal = (typeof DEFAULT_HANDLED_SIGNALS)[number];
export interface GracefulShutdownProcess {
    on(signal: HandledShutdownSignal, listener: () => void): unknown;
    off(signal: HandledShutdownSignal, listener: () => void): unknown;
}
interface GracefulShutdownOptions {
    delayMs: number;
    onShutdown: (signal: HandledShutdownSignal) => Promise<void>;
    onShutdownError?: (error: unknown) => void;
    onSecondSignal?: (signal: HandledShutdownSignal) => void;
    onTimeout?: (delayMs: number) => void;
    process: GracefulShutdownProcess;
    exit: (code: number) => void;
    suppressImmediateDuplicateSignals?: boolean;
    duplicateSignalWindowMs?: number;
    now?: () => number;
}
export declare function getExitCodeForSignal(signal: HandledShutdownSignal | null): number;
export declare function shouldSuppressImmediateDuplicateShutdownSignals(options?: {
    argv?: string[];
    env?: NodeJS.ProcessEnv;
}): boolean;
export declare function installGracefulShutdownHandlers(options: GracefulShutdownOptions): {
    uninstall: () => void;
};
export {};
//# sourceMappingURL=graceful-shutdown.d.ts.map