sig
  exception Unknown_zone of string
  exception Invalid_file_format of string
  val init : unit -> unit
  module Zone :
    sig
      type t
      val sexp_of_t : TZ.Zone.t -> Sexplib.Sexp.t
      val t_of_sexp : Sexplib.Sexp.t -> TZ.Zone.t
      val to_string_hum : TZ.Zone.t -> string
      val abbreviation : TZ.Zone.t -> Time.t -> string
      val of_gmt_offset : int -> TZ.Zone.t
      val find : string -> TZ.Zone.t option
      val find_exn : string -> TZ.Zone.t
    end
  module Date_time :
    sig
      type t = Time.Date.t * Time.Ofday.t
      val of_time : Time.t -> TZ.Zone.t -> TZ.Date_time.t
      val to_time : TZ.Date_time.t -> TZ.Zone.t -> Time.t
      val convert :
        from_tz:TZ.Zone.t ->
        to_tz:TZ.Zone.t -> TZ.Date_time.t -> TZ.Date_time.t
    end
  val initialized_zones : unit -> (string * TZ.Zone.t) list
  val string_of_time : TZ.Zone.t -> Time.t -> string
  val time_of_string : TZ.Zone.t -> string -> Time.t
  val machine_zone : unit -> (string * TZ.Zone.t) option
  val machine_zone_exn : unit -> string * TZ.Zone.t
end