"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.setupChannelModels = setupChannelModels;
const Transform3D_1 = require("../../Transform3D");
const Entities_1 = require("../Entities");
const PMs_1 = require("../PMs");
const UC_1 = require("../UC");
const channelModelFactory_1 = require("./channelModelFactory");
function setupChannelModels(appObjects) {
    const appObj = appObjects.getOrCreate("ChannelModels");
    const repo = (0, Entities_1.makeChannelModelRepo)(appObj);
    // UCs
    (0, UC_1.makeLoadChannelModelUC)(appObj);
    (0, UC_1.makeSelectChannelModelUC)(appObj);
    (0, Transform3D_1.makeTryPanTransformUC)(appObj);
    (0, UC_1.makeValidateChannelModel)(appObj);
    // PMs
    (0, PMs_1.makeActiveModelPM)(appObj);
    (0, PMs_1.makeActiveModelObjectListPM)(appObj);
    // Controllers
    new Transform3D_1.MousePanTransformMC(appObj);
    new Transform3D_1.TouchPanTransformTC(appObj);
    repo.channelModelFactory = (0, channelModelFactory_1.makeChannelModelFactory)(appObjects);
}
//# sourceMappingURL=setupChannelModels.js.map