function report(node, prop, expectedTypeNames) {
      const propName =
        prop.propName == null
          ? `[${context.getSourceCode().getText(prop.node.key)}]`
          : prop.propName
      context.report({
        node,
        messageId: 'invalidType',
        data: {
          name: propName,
          types: [...expectedTypeNames].join(' or ').toLowerCase()
        }
      })
    }
@param {Expression} node
@param {ComponentObjectProp | ComponentTypeProp | ComponentInferTypeProp} prop
@param {Iterable<string>} expectedTypeNames