sig
  val main : unit -> unit
  val busy_waiting : bool Pervasives.ref
  val start : unit -> Thread.t
  val thread_main : unit -> unit
  val reset : unit -> unit
  val async : ('a -> unit) -> 'a -> unit
  val sync : ('a -> 'b) -> 'a -> 'b
  val gui_safe : unit -> bool
  val do_jobs : unit -> bool
  val set_do_jobs_delay : float -> unit
end