sig
  type t = {
    historyId : string;
    id : string;
    messages : GapiGmailV1Model.Message.t list;
    snippet : string;
  }
  val historyId : (GapiGmailV1Model.Thread.t, string) GapiLens.t
  val id : (GapiGmailV1Model.Thread.t, string) GapiLens.t
  val messages :
    (GapiGmailV1Model.Thread.t, GapiGmailV1Model.Message.t list) GapiLens.t
  val snippet : (GapiGmailV1Model.Thread.t, string) GapiLens.t
  val empty : GapiGmailV1Model.Thread.t
  val render : GapiGmailV1Model.Thread.t -> GapiJson.json_data_model list
  val parse :
    GapiGmailV1Model.Thread.t ->
    GapiJson.json_data_model -> GapiGmailV1Model.Thread.t
  val to_data_model : GapiGmailV1Model.Thread.t -> GapiJson.json_data_model
  val of_data_model : GapiJson.json_data_model -> GapiGmailV1Model.Thread.t
end