export var Kind;
(function (Kind) {
    Kind["Cart"] = "CART";
    Kind["Context"] = "CONTEXT";
    Kind["ParameterManager"] = "PARAMETER_MANAGER";
    Kind["Recommendations"] = "RECOMMENDATIONS";
})(Kind || (Kind = {}));
// TODO: KIT-4742: There is no point for this now that the wiring is happening in headless
export function createControllerWithKind(controller, kind) {
    const copy = Object.defineProperties({}, Object.getOwnPropertyDescriptors(controller));
    Object.defineProperty(copy, '_kind', {
        value: kind,
    });
    return copy;
}
