sig
  type t = private Core_int63.t
  val typerep_of_t : Time_ns.Span.t Typerep_lib.Std.Typerep.t
  val typename_of_t : Time_ns.Span.t Typerep_lib.Std.Typename.t
  val ( >= ) : t -> t -> bool
  val ( <= ) : t -> t -> bool
  val ( = ) : t -> t -> bool
  val ( > ) : t -> t -> bool
  val ( < ) : t -> t -> bool
  val ( <> ) : t -> t -> bool
  val validate_lbound : min:t Comparable_intf.bound -> t Validate.check
  val validate_ubound : max:t Comparable_intf.bound -> t Validate.check
  val validate_bound :
    min:t Comparable_intf.bound ->
    max:t Comparable_intf.bound -> t Validate.check
  val validate_positive : t Validate.check
  val validate_non_negative : t Validate.check
  val validate_negative : t Validate.check
  val validate_non_positive : t Validate.check
  val is_positive : t -> bool
  val is_non_negative : t -> bool
  val is_negative : t -> bool
  val is_non_positive : t -> bool
  val equal : t Equal.equal
  val nanosecond : Time_ns.Span.t
  val microsecond : Time_ns.Span.t
  val millisecond : Time_ns.Span.t
  val second : Time_ns.Span.t
  val minute : Time_ns.Span.t
  val hour : Time_ns.Span.t
  val day : Time_ns.Span.t
  val of_ns : float -> Time_ns.Span.t
  val of_us : float -> Time_ns.Span.t
  val of_ms : float -> Time_ns.Span.t
  val of_sec : float -> Time_ns.Span.t
  val of_min : float -> Time_ns.Span.t
  val of_hr : float -> Time_ns.Span.t
  val of_day : float -> Time_ns.Span.t
  val to_ns : Time_ns.Span.t -> float
  val to_us : Time_ns.Span.t -> float
  val to_ms : Time_ns.Span.t -> float
  val to_sec : Time_ns.Span.t -> float
  val to_min : Time_ns.Span.t -> float
  val to_hr : Time_ns.Span.t -> float
  val to_day : Time_ns.Span.t -> float
  val of_sec_with_microsecond_precision : float -> Time_ns.Span.t
  val of_int_sec : int -> Time_ns.Span.t
  val to_int_sec : Time_ns.Span.t -> int
  val zero : Time_ns.Span.t
  val min_value : Time_ns.Span.t
  val max_value : Time_ns.Span.t
  val ( + ) : Time_ns.Span.t -> Time_ns.Span.t -> Time_ns.Span.t
  val ( - ) : Time_ns.Span.t -> Time_ns.Span.t -> Time_ns.Span.t
  val abs : Time_ns.Span.t -> Time_ns.Span.t
  val neg : Time_ns.Span.t -> Time_ns.Span.t
  val scale : Time_ns.Span.t -> float -> Time_ns.Span.t
  val scale_int : Time_ns.Span.t -> int -> Time_ns.Span.t
  val scale_int63 : Time_ns.Span.t -> Core_int63.t -> Time_ns.Span.t
  val div : Time_ns.Span.t -> Time_ns.Span.t -> Core_int63.t
  val ( / ) : Time_ns.Span.t -> float -> Time_ns.Span.t
  val ( // ) : Time_ns.Span.t -> Time_ns.Span.t -> float
  val create :
    ?sign:Float.Sign.t ->
    ?day:int ->
    ?hr:int ->
    ?min:int ->
    ?sec:int -> ?ms:int -> ?us:int -> ?ns:int -> unit -> Time_ns.Span.t
  module Parts :
    sig
      type t = {
        sign : Float.Sign.t;
        hr : int;
        min : int;
        sec : int;
        ms : int;
        us : int;
        ns : int;
      }
      val t_of_sexp : Sexplib.Sexp.t -> Time_ns.Span.Parts.t
      val sexp_of_t : Time_ns.Span.Parts.t -> Sexplib.Sexp.t
    end
  val to_parts : Time_ns.Span.t -> Time_ns.Span.Parts.t
  val of_parts : Time_ns.Span.Parts.t -> Time_ns.Span.t
  val ( >=. ) : t -> t -> bool
  val ( <=. ) : t -> t -> bool
  val ( =. ) : t -> t -> bool
  val ( >. ) : t -> t -> bool
  val ( <. ) : t -> t -> bool
  val ( <>. ) : t -> t -> bool
  val robustly_compare : t -> t -> int
  val to_int63_ns : Time_ns.Span.t -> Core_int63.t
  val of_int63_ns : Core_int63.t -> Time_ns.Span.t
  val to_int_ns : Time_ns.Span.t -> int
  val of_int_ns : int -> Time_ns.Span.t
  val since_unix_epoch : unit -> Time_ns.Span.t
  module Alternate_sexp :
    sig
      type t = t
      val t_of_sexp : Sexplib.Sexp.t -> Time_ns.Span.t
      val sexp_of_t : Time_ns.Span.t -> Sexplib.Sexp.t
    end
  val bin_t : Time_ns.Span.t Bin_prot.Type_class.t
  val bin_read_t : Time_ns.Span.t Bin_prot.Read.reader
  val __bin_read_t__ : (int -> Time_ns.Span.t) Bin_prot.Read.reader
  val bin_reader_t : Time_ns.Span.t Bin_prot.Type_class.reader
  val bin_size_t : Time_ns.Span.t Bin_prot.Size.sizer
  val bin_write_t : Time_ns.Span.t Bin_prot.Write.writer
  val bin_writer_t : Time_ns.Span.t Bin_prot.Type_class.writer
  val compare : Time_ns.Span.t -> Time_ns.Span.t -> int
end