sig
  type t = java'util'concurrent'CountDownLatch java_instance
  val make : java_int -> CountDownLatch.t
  val await : CountDownLatch.t -> unit
  val await_time : CountDownLatch.t -> java_long -> TimeUnit.t -> bool
  val count_down : CountDownLatch.t -> unit
  val get_count : CountDownLatch.t -> java_long
  val null : CountDownLatch.t
  external is_null : CountDownLatch.t -> bool = "java is_null"
  external is_not_null : CountDownLatch.t -> bool = "java is_not_null"
  val wrap : CountDownLatch.t -> CountDownLatch.t option
  val unwrap : CountDownLatch.t option -> CountDownLatch.t
end