"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDownloadFormatsByFlow = getDownloadFormatsByFlow;
const getCreateReplicaFormats_1 = require("./format-fetchers/getCreateReplicaFormats");
const getExportImageFormats_1 = require("./format-fetchers/getExportImageFormats");
const getPagingJobFormats_1 = require("./format-fetchers/getPagingJobFormats");
const getFgdbJobFormats_1 = require("./format-fetchers/getFgdbJobFormats");
/**
 * @private
 * Get the download formats for a given download flow and entity.
 *
 * @param downloadFlow DownloadFlowType
 * @param entity IHubEditableContent
 * @returns IDynamicDownloadFormat[]
 */
function getDownloadFormatsByFlow(downloadFlow, entity) {
    let downloadFormats = [];
    const actionsByFlow = {
        createReplica: () => {
            downloadFormats = (0, getCreateReplicaFormats_1.getCreateReplicaFormats)(entity);
        },
        paging: () => {
            downloadFormats = (0, getPagingJobFormats_1.getPagingJobFormats)();
        },
        fgdb: () => {
            downloadFormats = (0, getFgdbJobFormats_1.getFgdbJobFormats)();
        },
        exportImage: () => {
            downloadFormats = (0, getExportImageFormats_1.getExportImageFormats)(entity);
        },
    };
    // if you are updating this file, remove this comment and address the lint error
    // eslint-disable-next-line @typescript-eslint/no-unused-expressions
    actionsByFlow[downloadFlow] && actionsByFlow[downloadFlow]();
    return downloadFormats;
}
//# sourceMappingURL=getDownloadFormatsByFlow.js.map