"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GTFSTripRunManagerFactory = exports.GTFSTripRunType = void 0;
const GTFSTripCommonRunManager_1 = require("./GTFSTripCommonRunManager");
const GTFSTripMetroRunManager_1 = require("./GTFSTripMetroRunManager");
var GTFSTripRunType;
(function (GTFSTripRunType) {
    GTFSTripRunType[GTFSTripRunType["Common"] = 0] = "Common";
    GTFSTripRunType[GTFSTripRunType["Metro"] = 1] = "Metro";
})(GTFSTripRunType || (exports.GTFSTripRunType = GTFSTripRunType = {}));
class GTFSTripRunManagerFactory {
    static create(runType, ...params) {
        switch (runType) {
            case GTFSTripRunType.Common:
            default:
                return new GTFSTripCommonRunManager_1.GTFSTripCommonRunManager(...params);
            case GTFSTripRunType.Metro:
                return new GTFSTripMetroRunManager_1.GTFSTripMetroRunManager(...params);
        }
    }
}
exports.GTFSTripRunManagerFactory = GTFSTripRunManagerFactory;
//# sourceMappingURL=GTFSTripRunManagerFactory.js.map