"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.setupObjectPick = setupObjectPick;
const Controllers_1 = require("../Controllers");
const Entities_1 = require("../Entities");
const PM_1 = require("../PM");
const UseCases_1 = require("../UseCases");
function setupObjectPick(appObjects) {
    const ao = appObjects.getOrCreate("ObjectPick");
    (0, Entities_1.makeObjectPickEntity)(ao);
    // UCs
    (0, UseCases_1.makeAddCorrectObjectIdUC)(ao);
    (0, UseCases_1.makeClearCorrectObjectIdsUC)(ao);
    (0, UseCases_1.makeRemoveCorrectObjectIdUC)(ao);
    (0, UseCases_1.makeTrySelectObjectPickUC)(ao);
    (0, UseCases_1.makeTrySubmitObjectPickUC)(ao);
    (0, UseCases_1.makeValidateObjectPickUC)(ao);
    new UseCases_1.SerializeObjectPick(ao);
    // PMs
    (0, PM_1.makeObjectPickPM)(ao);
    // Controllers
    new Controllers_1.MouseObjectPickMC(ao);
    new Controllers_1.TouchObjectPickTC(ao);
    new Controllers_1.StylusObjectPickSC(ao);
}
//# sourceMappingURL=setupObjectPick.js.map