docs: function isKnownProperty(type, name) {
                  if (type.flags & 2588672 /* ObjectType */) {
                      var resolved = resolveStructuredTypeMembers(type);
                      if ((relation === assignableRelation || relation === comparableRelation) && (type === globalObjectType || isEmptyObjectType(resolved)) ||
                          resolved.stringIndexInfo ||
                          (resolved.numberIndexInfo && isNumericLiteralName(name)) ||
                          getPropertyOfType(type, name)) {
                          return true;
                      }
                  }
                  else if (type.flags & 1572864 /* UnionOrIntersection */) {
                      for (var _i = 0, _a = type.types; _i < _a.length; _i++) {
                          var t = _a[_i];
                          if (isKnownProperty(t, name)) {
                              return true;
                          }
                      }
                  }
                  return false;
              }