sig
  module CoverPhoto :
    sig
      type t = { height : int; url : string; width : int; }
      val height :
        (GapiPlusV1Model.Person.Cover.CoverPhoto.t, int) GapiLens.t
      val url :
        (GapiPlusV1Model.Person.Cover.CoverPhoto.t, string) GapiLens.t
      val width : (GapiPlusV1Model.Person.Cover.CoverPhoto.t, int) GapiLens.t
      val empty : GapiPlusV1Model.Person.Cover.CoverPhoto.t
      val render :
        GapiPlusV1Model.Person.Cover.CoverPhoto.t ->
        GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Person.Cover.CoverPhoto.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.Person.Cover.CoverPhoto.t
    end
  module CoverInfo :
    sig
      type t = { leftImageOffset : int; topImageOffset : int; }
      val leftImageOffset :
        (GapiPlusV1Model.Person.Cover.CoverInfo.t, int) GapiLens.t
      val topImageOffset :
        (GapiPlusV1Model.Person.Cover.CoverInfo.t, int) GapiLens.t
      val empty : GapiPlusV1Model.Person.Cover.CoverInfo.t
      val render :
        GapiPlusV1Model.Person.Cover.CoverInfo.t ->
        GapiJson.json_data_model list
      val parse :
        GapiPlusV1Model.Person.Cover.CoverInfo.t ->
        GapiJson.json_data_model -> GapiPlusV1Model.Person.Cover.CoverInfo.t
    end
  type t = {
    coverInfo : GapiPlusV1Model.Person.Cover.CoverInfo.t;
    coverPhoto : GapiPlusV1Model.Person.Cover.CoverPhoto.t;
    layout : string;
  }
  val coverInfo :
    (GapiPlusV1Model.Person.Cover.t,
     GapiPlusV1Model.Person.Cover.CoverInfo.t)
    GapiLens.t
  val coverPhoto :
    (GapiPlusV1Model.Person.Cover.t,
     GapiPlusV1Model.Person.Cover.CoverPhoto.t)
    GapiLens.t
  val layout : (GapiPlusV1Model.Person.Cover.t, string) GapiLens.t
  val empty : GapiPlusV1Model.Person.Cover.t
  val render :
    GapiPlusV1Model.Person.Cover.t -> GapiJson.json_data_model list
  val parse :
    GapiPlusV1Model.Person.Cover.t ->
    GapiJson.json_data_model -> GapiPlusV1Model.Person.Cover.t
end