Wait for the queue to become idle (no pending debounces, no queued items, no active work).
A promise that resolves when the queue is drained.
Enqueue an event, debounced per path+priority.
The watch event.
The processing function to invoke when dequeued.
Pause processing events. Events can still be enqueued but will not be processed.
Start processing events.
Resume processing events.
A debounced, rate-limited, concurrent event queue.