We extract every JSON-LD block, microdata itemtype and RDFa typeof from the page, then check that JSON-LD parses and declares an @type.
We do not check whether the markup makes the page eligible for specific rich results — that depends on additional required properties and search engine policies that change over time.