Storing Currently Loaded Ammunition in a weapon blueprint for a turn base RPG

Is the weapon blueprint itself the actor(blueprint) ? or is it a component or some other class attached to the weapon actor?
Basically, I want to know how your system works when player uses the weapon. Do you spawn an actor from the weapon class reference you have?
If so, you’d probably want to create a component(or interface or a combination of both) for your player where you do the logic related to ammo and reloading (and other instance based stuff) and inside the blueprint of the weapon class you get a reference of component/interface of the player using the weapon and just call their logic.
This introduces some coupling between player and weapons though.