docs: function renderComponent(componentType /* Type as workaround for: Microsoft/TypeScript/issues/4881 */, opts) {
      if (opts === void 0) { opts = {}; }
      ngDevMode && assertComponentType(componentType);
      var rendererFactory = opts.rendererFactory || domRendererFactory3;
      var sanitizer = opts.sanitizer || null;
      var componentDef = componentType.ngComponentDef;
      if (componentDef.type != componentType)
          componentDef.type = componentType;
      var component;
      // The first index of the first selector is the tag name.
      var componentTag = componentDef.selectors[0][0];
      var hostNode = locateHostElement(rendererFactory, opts.host || componentTag);
      var rootContext = createRootContext(opts.scheduler || requestAnimationFrame.bind(window));
      var rootView = createLViewData(rendererFactory.createRenderer(hostNode, componentDef.rendererType), createTView(-1, null, null, null, null), rootContext, componentDef.onPush ? 4 /* Dirty */ : 2 /* CheckAlways */);
      rootView[INJECTOR$1] = opts.injector || null;
      var oldView = enterView(rootView, null);
      var elementNode;
      try {
          if (rendererFactory.begin)
              rendererFactory.begin();
          // Create element node at index 0 in data array
          elementNode = hostElement(componentTag, hostNode, componentDef, sanitizer);
          // Create directive instance with factory() and store at index 0 in directives array
          rootContext.components.push(component = baseDirectiveCreate(0, componentDef.factory(), componentDef));
          initChangeDetectorIfExisting(elementNode.nodeInjector, component, elementNode.data);
          opts.hostFeatures && opts.hostFeatures.forEach(function (feature) { return feature(component, componentDef); });
          executeInitAndContentHooks();
          setHostBindings(ROOT_DIRECTIVE_INDICES);
          detectChangesInternal(elementNode.data, elementNode, component);
      }
      finally {
          leaveView(oldView);
          if (rendererFactory.end)
              rendererFactory.end();
      }
      return component;
  }