sig
  module Thumbnails :
    sig
      module Image :
        sig
          type t = {
            height : int;
            _type : string;
            url : string;
            width : int;
          }
          val height :
            (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t,
             int)
            GapiLens.t
          val _type :
            (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t,
             string)
            GapiLens.t
          val url :
            (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t,
             string)
            GapiLens.t
          val width :
            (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t,
             int)
            GapiLens.t
          val empty :
            GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t
          val render :
            GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t ->
            GapiJson.json_data_model ->
            GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t
        end
      type t = {
        description : string;
        image :
          GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t;
        url : string;
      }
      val description :
        (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t, string)
        GapiLens.t
      val image :
        (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t,
         GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.Image.t)
        GapiLens.t
      val url :
        (GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t, string)
        GapiLens.t
      val empty : GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t
      val render :
        GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t ->
        GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t ->
        GapiJson.json_data_model ->
        GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t
    end
  module Image :
    sig
      type t = { height : int; _type : string; url : string; width : int; }
      val height :
        (GapiPlusV1Model.Activity.Object.Attachments.Image.t, int) GapiLens.t
      val _type :
        (GapiPlusV1Model.Activity.Object.Attachments.Image.t, string)
        GapiLens.t
      val url :
        (GapiPlusV1Model.Activity.Object.Attachments.Image.t, string)
        GapiLens.t
      val width :
        (GapiPlusV1Model.Activity.Object.Attachments.Image.t, int) GapiLens.t
      val empty : GapiPlusV1Model.Activity.Object.Attachments.Image.t
      val render :
        GapiPlusV1Model.Activity.Object.Attachments.Image.t ->
        GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Activity.Object.Attachments.Image.t ->
        GapiJson.json_data_model ->
        GapiPlusV1Model.Activity.Object.Attachments.Image.t
    end
  module FullImage :
    sig
      type t = { height : int; _type : string; url : string; width : int; }
      val height :
        (GapiPlusV1Model.Activity.Object.Attachments.FullImage.t, int)
        GapiLens.t
      val _type :
        (GapiPlusV1Model.Activity.Object.Attachments.FullImage.t, string)
        GapiLens.t
      val url :
        (GapiPlusV1Model.Activity.Object.Attachments.FullImage.t, string)
        GapiLens.t
      val width :
        (GapiPlusV1Model.Activity.Object.Attachments.FullImage.t, int)
        GapiLens.t
      val empty : GapiPlusV1Model.Activity.Object.Attachments.FullImage.t
      val render :
        GapiPlusV1Model.Activity.Object.Attachments.FullImage.t ->
        GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Activity.Object.Attachments.FullImage.t ->
        GapiJson.json_data_model ->
        GapiPlusV1Model.Activity.Object.Attachments.FullImage.t
    end
  module Embed :
    sig
      type t = { _type : string; url : string; }
      val _type :
        (GapiPlusV1Model.Activity.Object.Attachments.Embed.t, string)
        GapiLens.t
      val url :
        (GapiPlusV1Model.Activity.Object.Attachments.Embed.t, string)
        GapiLens.t
      val empty : GapiPlusV1Model.Activity.Object.Attachments.Embed.t
      val render :
        GapiPlusV1Model.Activity.Object.Attachments.Embed.t ->
        GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Activity.Object.Attachments.Embed.t ->
        GapiJson.json_data_model ->
        GapiPlusV1Model.Activity.Object.Attachments.Embed.t
    end
  type t = {
    content : string;
    displayName : string;
    embed : GapiPlusV1Model.Activity.Object.Attachments.Embed.t;
    fullImage : GapiPlusV1Model.Activity.Object.Attachments.FullImage.t;
    id : string;
    image : GapiPlusV1Model.Activity.Object.Attachments.Image.t;
    objectType : string;
    thumbnails :
      GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t list;
    url : string;
  }
  val content :
    (GapiPlusV1Model.Activity.Object.Attachments.t, string) GapiLens.t
  val displayName :
    (GapiPlusV1Model.Activity.Object.Attachments.t, string) GapiLens.t
  val embed :
    (GapiPlusV1Model.Activity.Object.Attachments.t,
     GapiPlusV1Model.Activity.Object.Attachments.Embed.t)
    GapiLens.t
  val fullImage :
    (GapiPlusV1Model.Activity.Object.Attachments.t,
     GapiPlusV1Model.Activity.Object.Attachments.FullImage.t)
    GapiLens.t
  val id : (GapiPlusV1Model.Activity.Object.Attachments.t, string) GapiLens.t
  val image :
    (GapiPlusV1Model.Activity.Object.Attachments.t,
     GapiPlusV1Model.Activity.Object.Attachments.Image.t)
    GapiLens.t
  val objectType :
    (GapiPlusV1Model.Activity.Object.Attachments.t, string) GapiLens.t
  val thumbnails :
    (GapiPlusV1Model.Activity.Object.Attachments.t,
     GapiPlusV1Model.Activity.Object.Attachments.Thumbnails.t list)
    GapiLens.t
  val url :
    (GapiPlusV1Model.Activity.Object.Attachments.t, string) GapiLens.t
  val empty : GapiPlusV1Model.Activity.Object.Attachments.t
  val render :
    GapiPlusV1Model.Activity.Object.Attachments.t ->
    GapiJson.json_data_model list
  val parse :
    GapiPlusV1Model.Activity.Object.Attachments.t ->
    GapiJson.json_data_model -> GapiPlusV1Model.Activity.Object.Attachments.t
end