static async define() {
      await (0, _Boot.boot)();
      await Promise.all([this.whenDependenciesDefined(), this.onDefine()]);
      const tag = this.getMetadata().getTag();
      const definedLocally = (0, _CustomElementsRegistry.isTagRegistered)(tag);
      const definedGlobally = customElements.get(tag);
      if (definedGlobally && !definedLocally) {
        (0, _CustomElementsRegistry.recordTagRegistrationFailure)(tag);
      } else if (!definedGlobally) {
        this._generateAccessors();
        (0, _CustomElementsRegistry.registerTag)(tag);
        window.customElements.define(tag, this);
        (0, _preloadLinks.default)(this);
      }
      return this;
    }
Registers a UI5 Web Component in the browser window object
@public
@returns {Promise<UI5Element>}