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 : ('-> unit) -> '-> unit
  val sync : ('-> 'b) -> '-> 'b
  val gui_safe : unit -> bool
  val do_jobs : unit -> bool
  val set_do_jobs_delay : float -> unit
end