"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.setupMain = exports.DEFAULT_SIGTERM_TIMEOUT = void 0;
require("../../../base/lib/interfaces/ServiceInterfaceBuilder");
require("../../../base/lib/interfaces/Origin");
/** Default time in milliseconds to wait for a process to exit after SIGTERM before escalating to SIGKILL */
exports.DEFAULT_SIGTERM_TIMEOUT = 60_000;
/**
 * Used to ensure that the main function is running with the valid proofs.
 * We first do the folowing order of things
 * 1. We get the interfaces
 * 2. We setup all the commands to setup the system
 * 3. We create the health checks
 * 4. We setup the daemons init system
 * @param fn
 * @returns
 */
const setupMain = (fn) => {
    return async (options) => {
        const result = await fn(options);
        return result;
    };
};
exports.setupMain = setupMain;
//# sourceMappingURL=index.js.map