sig
  type _TZrel
  type _timezone
  type xs_time
  type xs_date
  type xs_dateTime
  type xs_duration
  type xs_gYearMonth
  type xs_gYear
  type xs_gMonthDay
  type xs_gDay
  type xs_gMonth
  type xs_yearMonthDuration
  type xs_dayTimeDuration
  val string_of_date : DateTime.xs_date -> string
  val string_of_duration : DateTime.xs_duration -> string
  val string_of_gYearMonth : DateTime.xs_gYearMonth -> string
  val string_of_gYear : DateTime.xs_gYear -> string
  val string_of_gMonthDay : DateTime.xs_gMonthDay -> string
  val string_of_gDay : DateTime.xs_gDay -> string
  val string_of_gMonth : DateTime.xs_gMonth -> string
  val string_of_time : DateTime.xs_time -> string
  val string_of_dateTime : DateTime.xs_dateTime -> string
  val string_of_yearMonthDuration : DateTime.xs_yearMonthDuration -> string
  val canonical_of_yearMonthDuration :
    DateTime.xs_yearMonthDuration -> string
  val string_of_dayTimeDuration : DateTime.xs_dayTimeDuration -> string
  val canonical_of_dayTimeDuration : DateTime.xs_dayTimeDuration -> string
  val mkdate :
    int option * int * int * DateTime.xs_dayTimeDuration option ->
    DateTime.xs_date
  val mktime :
    int * int * Decimal._decimal * DateTime.xs_dayTimeDuration option ->
    DateTime.xs_time
  val mktime_dtd :
    int * int * Decimal._decimal * DateTime.xs_dayTimeDuration option ->
    DateTime.xs_dayTimeDuration * DateTime.xs_time
  val mkdateTime :
    DateTime.xs_date * DateTime.xs_time * DateTime.xs_dayTimeDuration option ->
    DateTime.xs_dateTime
  val mkgYearMonth :
    int * int * DateTime.xs_dayTimeDuration option -> DateTime.xs_gYearMonth
  val mkgYear : int * DateTime.xs_dayTimeDuration option -> DateTime.xs_gYear
  val mkgMonthDay :
    int * int * DateTime.xs_dayTimeDuration option -> DateTime.xs_gMonthDay
  val mkgDay : int * DateTime.xs_dayTimeDuration option -> DateTime.xs_gDay
  val mkgMonth :
    int * DateTime.xs_dayTimeDuration option -> DateTime.xs_gMonth
  val mkyearMonthDuration : int * int -> DateTime.xs_yearMonthDuration
  val zero_yearMonthDuration : DateTime.xs_yearMonthDuration
  val mkdayTimeDuration :
    int * int * int * Decimal._decimal -> DateTime.xs_dayTimeDuration
  val zero_dayTimeDuration : DateTime.xs_dayTimeDuration
  val mkduration :
    bool ->
    DateTime.xs_yearMonthDuration * DateTime.xs_dayTimeDuration ->
    DateTime.xs_duration
  val date_compare :
    DateTime.xs_dayTimeDuration option ->
    DateTime.xs_date -> DateTime.xs_date -> int
  val duration_compare : DateTime.xs_duration -> DateTime.xs_duration -> int
  val gYearMonth_compare :
    DateTime.xs_dayTimeDuration option ->
    DateTime.xs_gYearMonth -> DateTime.xs_gYearMonth -> int
  val gYear_compare :
    DateTime.xs_dayTimeDuration option ->
    DateTime.xs_gYear -> DateTime.xs_gYear -> int
  val gMonthDay_compare :
    DateTime.xs_dayTimeDuration option ->
    DateTime.xs_gMonthDay -> DateTime.xs_gMonthDay -> int
  val gDay_compare :
    DateTime.xs_dayTimeDuration option ->
    DateTime.xs_gDay -> DateTime.xs_gDay -> int
  val gMonth_compare :
    DateTime.xs_dayTimeDuration option ->
    DateTime.xs_gMonth -> DateTime.xs_gMonth -> int
  val add_yearMonthDuration_to_date :
    DateTime.xs_date -> DateTime.xs_yearMonthDuration -> DateTime.xs_date
  val add_dayTimeDuration_to_date :
    DateTime.xs_date -> DateTime.xs_dayTimeDuration -> DateTime.xs_date
  val subtract_yearMonthDuration_from_date :
    DateTime.xs_date -> DateTime.xs_yearMonthDuration -> DateTime.xs_date
  val subtract_dayTimeDuration_from_date :
    DateTime.xs_date -> DateTime.xs_dayTimeDuration -> DateTime.xs_date
  val time_compare :
    DateTime.xs_dayTimeDuration option ->
    DateTime.xs_time -> DateTime.xs_time -> int
  val add_dayTimeDuration_to_time :
    DateTime.xs_time -> DateTime.xs_dayTimeDuration -> DateTime.xs_time
  val subtract_dates :
    DateTime.xs_date -> DateTime.xs_date -> DateTime.xs_dayTimeDuration
  val subtract_times :
    DateTime.xs_time -> DateTime.xs_time -> DateTime.xs_dayTimeDuration
  val subtract_dayTimeDuration_from_time :
    DateTime.xs_time -> DateTime.xs_dayTimeDuration -> DateTime.xs_time
  val dateTime_compare :
    DateTime.xs_dayTimeDuration option ->
    DateTime.xs_dateTime -> DateTime.xs_dateTime -> int
  val add_yearMonthDuration_to_dateTime :
    DateTime.xs_dateTime ->
    DateTime.xs_yearMonthDuration -> DateTime.xs_dateTime
  val add_yearMonthDuration_to_dateTime2 :
    DateTime.xs_yearMonthDuration ->
    DateTime.xs_dateTime -> DateTime.xs_dateTime
  val add_dayTimeDuration_to_dateTime :
    DateTime.xs_dateTime ->
    DateTime.xs_dayTimeDuration -> DateTime.xs_dateTime
  val subtract_dateTimes :
    DateTime.xs_dateTime ->
    DateTime.xs_dateTime -> DateTime.xs_dayTimeDuration
  val subtract_yearMonthDuration_from_dateTime :
    DateTime.xs_dateTime ->
    DateTime.xs_yearMonthDuration -> DateTime.xs_dateTime
  val subtract_dayTimeDuration_from_dateTime :
    DateTime.xs_dateTime ->
    DateTime.xs_dayTimeDuration -> DateTime.xs_dateTime
  val dateTime_from_date_and_time :
    DateTime.xs_date -> DateTime.xs_time -> DateTime.xs_dateTime
  val yearMonthDuration_compare :
    DateTime.xs_yearMonthDuration -> DateTime.xs_yearMonthDuration -> int
  val add_yearMonthDurations :
    DateTime.xs_yearMonthDuration ->
    DateTime.xs_yearMonthDuration -> DateTime.xs_yearMonthDuration
  val subtract_yearMonthDurations :
    DateTime.xs_yearMonthDuration ->
    DateTime.xs_yearMonthDuration -> DateTime.xs_yearMonthDuration
  val multiply_yearMonthDuration :
    DateTime.xs_yearMonthDuration -> float -> DateTime.xs_yearMonthDuration
  val multiply_yearMonthDuration2 :
    float -> DateTime.xs_yearMonthDuration -> DateTime.xs_yearMonthDuration
  val divide_yearMonthDuration :
    DateTime.xs_yearMonthDuration -> float -> DateTime.xs_yearMonthDuration
  val divide_yearMonthDuration_by_yearMonthDuration :
    DateTime.xs_yearMonthDuration ->
    DateTime.xs_yearMonthDuration -> Decimal._decimal
  val dayTimeDuration_compare :
    DateTime.xs_dayTimeDuration -> DateTime.xs_dayTimeDuration -> int
  val add_dayTimeDurations :
    DateTime.xs_dayTimeDuration ->
    DateTime.xs_dayTimeDuration -> DateTime.xs_dayTimeDuration
  val subtract_dayTimeDurations :
    DateTime.xs_dayTimeDuration ->
    DateTime.xs_dayTimeDuration -> DateTime.xs_dayTimeDuration
  val multiply_dayTimeDuration :
    DateTime.xs_dayTimeDuration -> float -> DateTime.xs_dayTimeDuration
  val multiply_dayTimeDuration2 :
    float -> DateTime.xs_dayTimeDuration -> DateTime.xs_dayTimeDuration
  val divide_dayTimeDuration :
    DateTime.xs_dayTimeDuration -> float -> DateTime.xs_dayTimeDuration
  val divide_dayTimeDuration_by_dayTimeDuration :
    DateTime.xs_dayTimeDuration ->
    DateTime.xs_dayTimeDuration -> Decimal._decimal
  val years_from_duration : DateTime.xs_yearMonthDuration -> int
  val months_from_duration : DateTime.xs_yearMonthDuration -> int
  val days_from_duration : DateTime.xs_dayTimeDuration -> int
  val hours_from_duration : DateTime.xs_dayTimeDuration -> int
  val minutes_from_duration : DateTime.xs_dayTimeDuration -> int
  val seconds_from_duration : DateTime.xs_dayTimeDuration -> Decimal._decimal
  val hours_from_time : DateTime.xs_time -> int
  val minutes_from_time : DateTime.xs_time -> int
  val seconds_from_time : DateTime.xs_time -> Decimal._decimal
  val timezone_from_time : DateTime.xs_time -> DateTime.xs_dayTimeDuration
  val opt_timezone_from_time :
    DateTime.xs_time -> DateTime.xs_dayTimeDuration option
  val year_from_date : DateTime.xs_date -> int
  val month_from_date : DateTime.xs_date -> int
  val day_from_date : DateTime.xs_date -> int
  val timezone_from_date : DateTime.xs_date -> DateTime.xs_dayTimeDuration
  val opt_timezone_from_date :
    DateTime.xs_date -> DateTime.xs_dayTimeDuration option
  val year_from_dateTime : DateTime.xs_dateTime -> int
  val month_from_dateTime : DateTime.xs_dateTime -> int
  val day_from_dateTime : DateTime.xs_dateTime -> int
  val hours_from_dateTime : DateTime.xs_dateTime -> int
  val minutes_from_dateTime : DateTime.xs_dateTime -> int
  val seconds_from_dateTime : DateTime.xs_dateTime -> Decimal._decimal
  val timezone_from_dateTime :
    DateTime.xs_dateTime -> DateTime.xs_dayTimeDuration
  val opt_timezone_from_dateTime :
    DateTime.xs_dateTime -> DateTime.xs_dayTimeDuration option
  val date_from_dateTime : DateTime.xs_dateTime -> DateTime.xs_date
  val time_from_dateTime : DateTime.xs_dateTime -> DateTime.xs_time
  val current_dateTime : unit -> DateTime.xs_dateTime
  val local_timezone : unit -> DateTime.xs_dayTimeDuration
  val default_dateTime : unit -> DateTime.xs_dateTime
  val default_UTC : unit -> DateTime.xs_dayTimeDuration
  val adjust_time_to_timezone :
    DateTime.xs_time ->
    DateTime.xs_dayTimeDuration option -> DateTime.xs_time
  val adjust_date_to_timezone :
    DateTime.xs_date ->
    DateTime.xs_dayTimeDuration option -> DateTime.xs_date
  val adjust_dateTime_to_timezone :
    DateTime.xs_dateTime ->
    DateTime.xs_dayTimeDuration option -> DateTime.xs_dateTime
  val yearMonthDuration_of_duration :
    DateTime.xs_duration -> DateTime.xs_yearMonthDuration
  val dayTimeDuration_of_duration :
    DateTime.xs_duration -> DateTime.xs_dayTimeDuration
  val duration_of_yearMonthDuration :
    DateTime.xs_yearMonthDuration -> DateTime.xs_duration
  val duration_of_dayTimeDuration :
    DateTime.xs_dayTimeDuration -> DateTime.xs_duration
  val negate_time : DateTime.xs_time -> DateTime.xs_time
  val negate_date : DateTime.xs_date -> DateTime.xs_date
  val negate_dateTime : DateTime.xs_dateTime -> DateTime.xs_dateTime
  val negate_gYear : DateTime.xs_gYear -> DateTime.xs_gYear
  val negate_gYearMonth : DateTime.xs_gYearMonth -> DateTime.xs_gYearMonth
end