sig
  type t = {
    calendar : (string * GapiCalendarV3Model.ColorDefinition.t) list;
    event : (string * GapiCalendarV3Model.ColorDefinition.t) list;
    kind : string;
    updated : GapiDate.t;
  }
  val calendar :
    (GapiCalendarV3Model.Colors.t,
     (string * GapiCalendarV3Model.ColorDefinition.t) list)
    GapiLens.t
  val event :
    (GapiCalendarV3Model.Colors.t,
     (string * GapiCalendarV3Model.ColorDefinition.t) list)
    GapiLens.t
  val kind : (GapiCalendarV3Model.Colors.t, string) GapiLens.t
  val updated : (GapiCalendarV3Model.Colors.t, GapiDate.t) GapiLens.t
  val empty : GapiCalendarV3Model.Colors.t
  val render : GapiCalendarV3Model.Colors.t -> GapiJson.json_data_model list
  val parse :
    GapiCalendarV3Model.Colors.t ->
    GapiJson.json_data_model -> GapiCalendarV3Model.Colors.t
  val to_data_model :
    GapiCalendarV3Model.Colors.t -> GapiJson.json_data_model
  val of_data_model :
    GapiJson.json_data_model -> GapiCalendarV3Model.Colors.t
end