import { makeTryPanTransformUC, MousePanTransformMC, TouchPanTransformTC, } from "../../Transform3D";
import { makeChannelModelRepo } from "../Entities";
import { makeActiveModelObjectListPM, makeActiveModelPM } from "../PMs";
import { makeLoadChannelModelUC, makeSelectChannelModelUC, makeValidateChannelModel, } from "../UC";
import { makeChannelModelFactory } from "./channelModelFactory";
export function setupChannelModels(appObjects) {
    const appObj = appObjects.getOrCreate("ChannelModels");
    const repo = makeChannelModelRepo(appObj);
    // UCs
    makeLoadChannelModelUC(appObj);
    makeSelectChannelModelUC(appObj);
    makeTryPanTransformUC(appObj);
    makeValidateChannelModel(appObj);
    // PMs
    makeActiveModelPM(appObj);
    makeActiveModelObjectListPM(appObj);
    // Controllers
    new MousePanTransformMC(appObj);
    new TouchPanTransformTC(appObj);
    repo.channelModelFactory = makeChannelModelFactory(appObjects);
}
//# sourceMappingURL=setupChannelModels.js.map