Variable storing reference to a component

Hi, I have trouble making the following code work. The problem lies at line 4 : public VARIABLE unit_component. unit_component is supposed to store the reference to a component from another script. unit_component is then used later in the code in the line :

GameObject.Find(unit).GetComponent(unit_component).move_to = move_to_order;

I don’t know what type of variable is supposed to receive the reference to a component. A string can’t do the job.

 public class MAPunitcontrol : MonoBehaviour {
    public string unit;
    public int move_to_order;
    public VARIABLE unit_component;
    void Update()
    {
        if ((unit != null)&&(move_to_order!=0))
        {
            GameObject.Find(unit).GetComponent(unit_component).move_to = move_to_order;
            move_to_order = 0;

        }
    }
}

Thanks !

the variable type is the name of the component ?