sig
  type t = private Limiter.limiter
  val create_exn :
    now:Time.t ->
    burst_size:int ->
    sustained_rate_per_sec:float ->
    max_concurrent_jobs:int -> Limiter.Throttled_rate_limiter.t
  val try_start_job :
    Limiter.Throttled_rate_limiter.t ->
    now:Time.t ->
    [ `Max_concurrent_jobs_running
    | `Start
    | `Unable_until_at_least of Time.t ]
  val finish_job : Limiter.Throttled_rate_limiter.t -> now:Time.t -> unit
end