Variants, slot names, and component overrides resolve from the public API itself. That means autocomplete follows the documented contract instead of a parallel, accidental type layer.