sig
  module Blog :
    sig
      type t = { id : int64; }
      val id : (GapiBloggerV2Model.Page.Blog.t, int64) GapiLens.t
      val empty : GapiBloggerV2Model.Page.Blog.t
      val render :
        GapiBloggerV2Model.Page.Blog.t -> GapiJson.json_data_model list
      val parse :
        GapiBloggerV2Model.Page.Blog.t ->
        GapiJson.json_data_model -> GapiBloggerV2Model.Page.Blog.t
    end
  module Author :
    sig
      module Image :
        sig
          type t = { url : string; }
          val url :
            (GapiBloggerV2Model.Page.Author.Image.t, string) GapiLens.t
          val empty : GapiBloggerV2Model.Page.Author.Image.t
          val render :
            GapiBloggerV2Model.Page.Author.Image.t ->
            GapiJson.json_data_model list
          val parse :
            GapiBloggerV2Model.Page.Author.Image.t ->
            GapiJson.json_data_model ->
            GapiBloggerV2Model.Page.Author.Image.t
        end
      type t = {
        displayName : string;
        id : string;
        image : GapiBloggerV2Model.Page.Author.Image.t;
        url : string;
      }
      val displayName : (GapiBloggerV2Model.Page.Author.t, string) GapiLens.t
      val id : (GapiBloggerV2Model.Page.Author.t, string) GapiLens.t
      val image :
        (GapiBloggerV2Model.Page.Author.t,
         GapiBloggerV2Model.Page.Author.Image.t)
        GapiLens.t
      val url : (GapiBloggerV2Model.Page.Author.t, string) GapiLens.t
      val empty : GapiBloggerV2Model.Page.Author.t
      val render :
        GapiBloggerV2Model.Page.Author.t -> GapiJson.json_data_model list
      val parse :
        GapiBloggerV2Model.Page.Author.t ->
        GapiJson.json_data_model -> GapiBloggerV2Model.Page.Author.t
    end
  type t = {
    author : GapiBloggerV2Model.Page.Author.t;
    blog : GapiBloggerV2Model.Page.Blog.t;
    content : string;
    id : int64;
    kind : string;
    published : GapiDate.t;
    selfLink : string;
    title : string;
    updated : GapiDate.t;
    url : string;
  }
  val author :
    (GapiBloggerV2Model.Page.t, GapiBloggerV2Model.Page.Author.t) GapiLens.t
  val blog :
    (GapiBloggerV2Model.Page.t, GapiBloggerV2Model.Page.Blog.t) GapiLens.t
  val content : (GapiBloggerV2Model.Page.t, string) GapiLens.t
  val id : (GapiBloggerV2Model.Page.t, int64) GapiLens.t
  val kind : (GapiBloggerV2Model.Page.t, string) GapiLens.t
  val published : (GapiBloggerV2Model.Page.t, GapiDate.t) GapiLens.t
  val selfLink : (GapiBloggerV2Model.Page.t, string) GapiLens.t
  val title : (GapiBloggerV2Model.Page.t, string) GapiLens.t
  val updated : (GapiBloggerV2Model.Page.t, GapiDate.t) GapiLens.t
  val url : (GapiBloggerV2Model.Page.t, string) GapiLens.t
  val empty : GapiBloggerV2Model.Page.t
  val render : GapiBloggerV2Model.Page.t -> GapiJson.json_data_model list
  val parse :
    GapiBloggerV2Model.Page.t ->
    GapiJson.json_data_model -> GapiBloggerV2Model.Page.t
  val to_data_model : GapiBloggerV2Model.Page.t -> GapiJson.json_data_model
  val of_data_model : GapiJson.json_data_model -> GapiBloggerV2Model.Page.t
end