import { getCreateReplicaFormats } from "./format-fetchers/getCreateReplicaFormats";
import { getExportImageFormats } from "./format-fetchers/getExportImageFormats";
import { getPagingJobFormats } from "./format-fetchers/getPagingJobFormats";
import { getFgdbJobFormats } from "./format-fetchers/getFgdbJobFormats";
/**
 * @private
 * Get the download formats for a given download flow and entity.
 *
 * @param downloadFlow DownloadFlowType
 * @param entity IHubEditableContent
 * @returns IDynamicDownloadFormat[]
 */
export function getDownloadFormatsByFlow(downloadFlow, entity) {
    let downloadFormats = [];
    const actionsByFlow = {
        createReplica: () => {
            downloadFormats = getCreateReplicaFormats(entity);
        },
        paging: () => {
            downloadFormats = getPagingJobFormats();
        },
        fgdb: () => {
            downloadFormats = getFgdbJobFormats();
        },
        exportImage: () => {
            downloadFormats = 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