Typedef for a parametirized UVM component

In reply to chr_sue:

In reply to verif_learner:
The key question you do not answer: where is the parameter AV_WIDTH defined?
This parameter has to have a specific value for the typedef when declaring this in your package.

chr_sue,

The parameter is a part of agent class definition. Like below:
class av_st_mst_agent #(AV_WIDTH) extends uvm_agent;

I know that you are going to say that AV_WIDTH has to be within package scope but having a global parameter defeats the purpose of what I am trying to do here.
The agent is parameterized and hence I can fix its value when I create it later.
I have other agents like this and they all have same parameter name – AV_WIDTH

So, if I fix value of AV_DWIDTH in the package scope then I no longer have different values for different agents or 2 different agent instance of the same agent.

Right now, I have put typedef in the class itself but this way I have to repeat typedefines at multiple places