constructor({
        emailRenderer,
        sendingService,
        jobsService,
        emailSegmenter,
        models,
        db,
        sentry,
        BEFORE_RETRY_CONFIG,
        AFTER_RETRY_CONFIG,
        MAILGUN_API_RETRY_CONFIG,
        debugStorageFilePath
    }) {
        this.#emailRenderer = emailRenderer;
        this.#sendingService = sendingService;
        this.#jobsService = jobsService;
        this.#emailSegmenter = emailSegmenter;
        this.#models = models;
        this.#db = db;
        this.#sentry = sentry;
        this.#debugStorageFilePath = debugStorageFilePath;

        if (BEFORE_RETRY_CONFIG) {
            this.#BEFORE_RETRY_CONFIG = BEFORE_RETRY_CONFIG;
        } else {
            if (process.env.NODE_ENV.startsWith('test') || process.env.NODE_ENV === 'development') {
                this.#BEFORE_RETRY_CONFIG = {maxRetries: 0};
            }
        }
        if (AFTER_RETRY_CONFIG) {
            this.#AFTER_RETRY_CONFIG = AFTER_RETRY_CONFIG;
        } else {
            if (process.env.NODE_ENV.startsWith('test') || process.env.NODE_ENV === 'development') {
                this.#AFTER_RETRY_CONFIG = {maxRetries: 0};
            }
        }

        if (MAILGUN_API_RETRY_CONFIG) {
            this.#MAILGUN_API_RETRY_CONFIG = MAILGUN_API_RETRY_CONFIG;
        } else {
            if (process.env.NODE_ENV.startsWith('test') || process.env.NODE_ENV === 'development') {
                this.#MAILGUN_API_RETRY_CONFIG = {maxRetries: 0};
            }
        }
    }
@param {Object} dependencies
@param {EmailRenderer} dependencies.emailRenderer
@param {SendingService} dependencies.sendingService
@param {JobsService} dependencies.jobsService
@param {EmailSegmenter} dependencies.emailSegmenter
@param {object} dependencies.models
@param {object} dependencies.models.EmailRecipient
@param {EmailBatch} dependencies.models.EmailBatch
@param {Email} dependencies.models.Email
@param {object} dependencies.models.Member
@param {object} dependencies.db
@param {object} [dependencies.sentry]
@param {object} [dependencies.BEFORE_RETRY_CONFIG]
@param {object} [dependencies.AFTER_RETRY_CONFIG]
@param {object} [dependencies.MAILGUN_API_RETRY_CONFIG]
@param {string} [dependencies.debugStorageFilePath]