/*eslint no-useless-constructor: 0*/
// decorator function to create registry for unpacking json
export var ControlType;
(function (ControlType) {
    ControlType["Control"] = "Control";
    ControlType["Container"] = "Container";
})(ControlType || (ControlType = {}));
export class RegistrationData {
    constructor(prototype, category, name, typeOfControl = ControlType.Control, icon) {
        this.prototype = prototype;
        this.category = category;
        this.name = name;
        this.icon = icon;
        this.typeOfControl = typeOfControl;
    }
    create() {
        throw new Error('not implemented');
    }
}
export function RegisterFormControl(controlExample, category, name, typeOfControl = ControlType.Control, icon) {
    let prototype = Object.getPrototypeOf(controlExample);
    prototype.__type = name;
    UIControlRegistration[name] = new RegistrationData(prototype, category, name, typeOfControl, icon);
}
export class ControlRegistrationClass {
}
export const UIControlRegistration = new ControlRegistrationClass();
//# sourceMappingURL=RegisterUIControl.js.map