Hi!
For the timed one, you’ll want to spawn the enemy then bind to when it gets killed or destroyed.
When the killed/destroyed event fires off, you set a timer for however long, then you call your spawn function again, which again binds to the enemy being killed/destroyed.
The second option you mentioned is a little trickier. You could check on the player’s tick if their aim direction is close to looking at the enemy spawn point, and if it is, you reset a timer on the spawner. That way if the player ever goes long enough without looking at the spawn point, the timer will go off and spawn a new enemy.