code: function getJsxElementPropertiesName() {
              // JSX
              var jsxNamespace = getGlobalSymbol(JsxNames.JSX, 1920 /* Namespace */, /*diagnosticMessage*/ undefined);
              // JSX.ElementAttributesProperty [symbol]
              var attribsPropTypeSym = jsxNamespace && getSymbol(jsxNamespace.exports, JsxNames.ElementAttributesPropertyNameContainer, 793064 /* Type */);
              // JSX.ElementAttributesProperty [type]
              var attribPropType = attribsPropTypeSym && getDeclaredTypeOfSymbol(attribsPropTypeSym);
              // The properties of JSX.ElementAttributesProperty
              var attribProperties = attribPropType && getPropertiesOfType(attribPropType);
              if (attribProperties) {
                  // Element Attributes has zero properties, so the element attributes type will be the class instance type
                  if (attribProperties.length === 0) {
                      return "";
                  }
                  else if (attribProperties.length === 1) {
                      return attribProperties[0].name;
                  }
                  else {
                      error(attribsPropTypeSym.declarations[0], ts.Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property, JsxNames.ElementAttributesPropertyNameContainer);
                      return undefined;
                  }
              }
              else {
                  // No interface exists, so the element attributes type will be an implicit any
                  return undefined;
              }
          }
docs: / e.g. "props" for React.d.ts, / or 'undefined' if ElementAttributesProperty doesn't exist (which means all /     non-intrinsic elements' attributes type is 'any'), / or '' if it has 0 properties (which means every /     non-intrinsic elements' attributes type is the element instance type)