Question on Component styles vs Community styles & docoumentation

My team and I are working through recreating our design system and working on building a system that will work for our growing design team moving forward. I had some questions on the adoption of component styles for Figma. Is there some general agreement on what exists as a component style vs. a variant style? I know that Figma gave examples with items like size type color and state being variant styles and items like leading-icon trailing-icon as examples of component styles. But as I talking through with my engineering team, it seemed a bit awkward why leading-icon wasn’t a variant style. We decided to clarify what is a component style vs. a variant style, and that question has me here!

This leads me to a second question on what the best convention might be for documenting all valid variants of a particular component. My engineering team thinks it might be best practice to show all possible variations (that is, fully exhaustive) in one location in the Figma document. I showed him how variants are built, and that I can’t really create each potential variation (not in the variant container at least). I could create a separate doc (like a usage document) that shows all potential variations of the button - but the fear is that no having all in one central place would be confusing for new engineers. This could be the whole point of a tool like zeroheight, but wondering if there were ways in Figma to solve this issue?