Module Require_explicit_time_source.Clock

module Time : sig ... end
val run_at : Time.t -> ('a -> unit) -> 'a -> unit
val run_after : Time.Span.t -> ('a -> unit) -> 'a -> unit
val at : Time.t -> unit Async_kernel__.Clock_intf.Deferred.t
val after : Time.Span.t -> unit Async_kernel__.Clock_intf.Deferred.t
val with_timeout : Time.Span.t -> 'a Async_kernel__.Clock_intf.Deferred.t -> [ `Timeout | `Result of 'a ] Async_kernel__.Clock_intf.Deferred.t
module Event : sig ... end
val at_varying_intervals : ?⁠stop:unit Async_kernel__.Clock_intf.Deferred.t -> (unit -> Time.Span.t) -> unit Async_kernel__.Async_stream.t
val at_intervals : ?⁠start:Time.t -> ?⁠stop:unit Async_kernel__.Clock_intf.Deferred.t -> Time.Span.t -> unit Async_kernel__.Async_stream.t
val every' : ?⁠start:unit Async_kernel__.Clock_intf.Deferred.t -> ?⁠stop:unit Async_kernel__.Clock_intf.Deferred.t -> ?⁠continue_on_error:bool -> ?⁠finished:unit Async_kernel.Ivar.t -> Time.Span.t -> (unit -> unit Async_kernel__.Clock_intf.Deferred.t) -> unit
val every : ?⁠start:unit Async_kernel__.Clock_intf.Deferred.t -> ?⁠stop:unit Async_kernel__.Clock_intf.Deferred.t -> ?⁠continue_on_error:bool -> Time.Span.t -> (unit -> unit) -> unit
val run_at_intervals' : ?⁠start:Time.t -> ?⁠stop:unit Async_kernel__.Clock_intf.Deferred.t -> ?⁠continue_on_error:bool -> Time.Span.t -> (unit -> unit Async_kernel__.Clock_intf.Deferred.t) -> unit
val run_at_intervals : ?⁠start:Time.t -> ?⁠stop:unit Async_kernel__.Clock_intf.Deferred.t -> ?⁠continue_on_error:bool -> Time.Span.t -> (unit -> unit) -> unit