How To make a time Delay Between Instantiating Bullets?

Pretty new to Unity and C#, but I’ve been searching for a easily-understandable way to have a short time delay in-between Instantiating bullets, as right now you can just spam shoot.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Weapon : MonoBehaviour {

    public Transform FirePoint;
    public GameObject BulletPrefab;

    // Update is called once per frame
    void Update () {
        if (Input.GetButtonDown("Fire1"))
        {
            Shoot();
            
        }
        
    }
    void Shoot ()
    {
        Instantiate(BulletPrefab, FirePoint.position, FirePoint.rotation);
    }
}

Thanks in Advance

Know this is a very old question but its a very simple fix so here

public float cooldownTime = .2f;
private float nextFireTime = 0;

void Update{
if (Time.time > nextFireTime && Input.GetButtonDown("Fire1)){

()Shoot;
  nextFireTime = Time.time + cooldownTime;
 }

  }

@Chancetru Thanks a lot, works perfectly fine now!