sig
  module Payment :
    sig
      type t = {
        id : string;
        kind : string;
        paymentAmount : string;
        paymentAmountCurrencyCode : string;
        paymentDate : string;
      }
      val id : (GapiAdsenseV1_4Model.Payment.t, string) GapiLens.t
      val kind : (GapiAdsenseV1_4Model.Payment.t, string) GapiLens.t
      val paymentAmount : (GapiAdsenseV1_4Model.Payment.t, string) GapiLens.t
      val paymentAmountCurrencyCode :
        (GapiAdsenseV1_4Model.Payment.t, string) GapiLens.t
      val paymentDate : (GapiAdsenseV1_4Model.Payment.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.Payment.t
      val render :
        GapiAdsenseV1_4Model.Payment.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.Payment.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Payment.t
      val to_data_model :
        GapiAdsenseV1_4Model.Payment.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Payment.t
    end
  module Payments :
    sig
      type t = {
        items : GapiAdsenseV1_4Model.Payment.t list;
        kind : string;
      }
      val items :
        (GapiAdsenseV1_4Model.Payments.t,
         GapiAdsenseV1_4Model.Payment.t list)
        GapiLens.t
      val kind : (GapiAdsenseV1_4Model.Payments.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.Payments.t
      val render :
        GapiAdsenseV1_4Model.Payments.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.Payments.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Payments.t
      val to_data_model :
        GapiAdsenseV1_4Model.Payments.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Payments.t
    end
  module SavedReport :
    sig
      type t = { id : string; kind : string; name : string; }
      val id : (GapiAdsenseV1_4Model.SavedReport.t, string) GapiLens.t
      val kind : (GapiAdsenseV1_4Model.SavedReport.t, string) GapiLens.t
      val name : (GapiAdsenseV1_4Model.SavedReport.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.SavedReport.t
      val render :
        GapiAdsenseV1_4Model.SavedReport.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.SavedReport.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.SavedReport.t
      val to_data_model :
        GapiAdsenseV1_4Model.SavedReport.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.SavedReport.t
    end
  module SavedReports :
    sig
      type t = {
        etag : string;
        items : GapiAdsenseV1_4Model.SavedReport.t list;
        kind : string;
        nextPageToken : string;
      }
      val etag : (GapiAdsenseV1_4Model.SavedReports.t, string) GapiLens.t
      val items :
        (GapiAdsenseV1_4Model.SavedReports.t,
         GapiAdsenseV1_4Model.SavedReport.t list)
        GapiLens.t
      val kind : (GapiAdsenseV1_4Model.SavedReports.t, string) GapiLens.t
      val nextPageToken :
        (GapiAdsenseV1_4Model.SavedReports.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.SavedReports.t
      val render :
        GapiAdsenseV1_4Model.SavedReports.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.SavedReports.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.SavedReports.t
      val to_data_model :
        GapiAdsenseV1_4Model.SavedReports.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.SavedReports.t
    end
  module AdStyle :
    sig
      module Font :
        sig
          type t = { family : string; size : string; }
          val family :
            (GapiAdsenseV1_4Model.AdStyle.Font.t, string) GapiLens.t
          val size : (GapiAdsenseV1_4Model.AdStyle.Font.t, string) GapiLens.t
          val empty : GapiAdsenseV1_4Model.AdStyle.Font.t
          val render :
            GapiAdsenseV1_4Model.AdStyle.Font.t ->
            GapiJson.json_data_model list
          val parse :
            GapiAdsenseV1_4Model.AdStyle.Font.t ->
            GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdStyle.Font.t
        end
      module Colors :
        sig
          type t = {
            background : string;
            border : string;
            text : string;
            title : string;
            url : string;
          }
          val background :
            (GapiAdsenseV1_4Model.AdStyle.Colors.t, string) GapiLens.t
          val border :
            (GapiAdsenseV1_4Model.AdStyle.Colors.t, string) GapiLens.t
          val text :
            (GapiAdsenseV1_4Model.AdStyle.Colors.t, string) GapiLens.t
          val title :
            (GapiAdsenseV1_4Model.AdStyle.Colors.t, string) GapiLens.t
          val url :
            (GapiAdsenseV1_4Model.AdStyle.Colors.t, string) GapiLens.t
          val empty : GapiAdsenseV1_4Model.AdStyle.Colors.t
          val render :
            GapiAdsenseV1_4Model.AdStyle.Colors.t ->
            GapiJson.json_data_model list
          val parse :
            GapiAdsenseV1_4Model.AdStyle.Colors.t ->
            GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdStyle.Colors.t
        end
      type t = {
        colors : GapiAdsenseV1_4Model.AdStyle.Colors.t;
        corners : string;
        font : GapiAdsenseV1_4Model.AdStyle.Font.t;
        kind : string;
      }
      val colors :
        (GapiAdsenseV1_4Model.AdStyle.t,
         GapiAdsenseV1_4Model.AdStyle.Colors.t)
        GapiLens.t
      val corners : (GapiAdsenseV1_4Model.AdStyle.t, string) GapiLens.t
      val font :
        (GapiAdsenseV1_4Model.AdStyle.t, GapiAdsenseV1_4Model.AdStyle.Font.t)
        GapiLens.t
      val kind : (GapiAdsenseV1_4Model.AdStyle.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.AdStyle.t
      val render :
        GapiAdsenseV1_4Model.AdStyle.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.AdStyle.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdStyle.t
      val to_data_model :
        GapiAdsenseV1_4Model.AdStyle.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdStyle.t
    end
  module SavedAdStyle :
    sig
      type t = {
        adStyle : GapiAdsenseV1_4Model.AdStyle.t;
        id : string;
        kind : string;
        name : string;
      }
      val adStyle :
        (GapiAdsenseV1_4Model.SavedAdStyle.t, GapiAdsenseV1_4Model.AdStyle.t)
        GapiLens.t
      val id : (GapiAdsenseV1_4Model.SavedAdStyle.t, string) GapiLens.t
      val kind : (GapiAdsenseV1_4Model.SavedAdStyle.t, string) GapiLens.t
      val name : (GapiAdsenseV1_4Model.SavedAdStyle.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.SavedAdStyle.t
      val render :
        GapiAdsenseV1_4Model.SavedAdStyle.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.SavedAdStyle.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.SavedAdStyle.t
      val to_data_model :
        GapiAdsenseV1_4Model.SavedAdStyle.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.SavedAdStyle.t
    end
  module SavedAdStyles :
    sig
      type t = {
        etag : string;
        items : GapiAdsenseV1_4Model.SavedAdStyle.t list;
        kind : string;
        nextPageToken : string;
      }
      val etag : (GapiAdsenseV1_4Model.SavedAdStyles.t, string) GapiLens.t
      val items :
        (GapiAdsenseV1_4Model.SavedAdStyles.t,
         GapiAdsenseV1_4Model.SavedAdStyle.t list)
        GapiLens.t
      val kind : (GapiAdsenseV1_4Model.SavedAdStyles.t, string) GapiLens.t
      val nextPageToken :
        (GapiAdsenseV1_4Model.SavedAdStyles.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.SavedAdStyles.t
      val render :
        GapiAdsenseV1_4Model.SavedAdStyles.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.SavedAdStyles.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.SavedAdStyles.t
      val to_data_model :
        GapiAdsenseV1_4Model.SavedAdStyles.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.SavedAdStyles.t
    end
  module AdCode :
    sig
      type t = { adCode : string; kind : string; }
      val adCode : (GapiAdsenseV1_4Model.AdCode.t, string) GapiLens.t
      val kind : (GapiAdsenseV1_4Model.AdCode.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.AdCode.t
      val render :
        GapiAdsenseV1_4Model.AdCode.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.AdCode.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdCode.t
      val to_data_model :
        GapiAdsenseV1_4Model.AdCode.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdCode.t
    end
  module AdClient :
    sig
      type t = {
        arcOptIn : bool;
        arcReviewMode : string;
        id : string;
        kind : string;
        productCode : string;
        supportsReporting : bool;
      }
      val arcOptIn : (GapiAdsenseV1_4Model.AdClient.t, bool) GapiLens.t
      val arcReviewMode :
        (GapiAdsenseV1_4Model.AdClient.t, string) GapiLens.t
      val id : (GapiAdsenseV1_4Model.AdClient.t, string) GapiLens.t
      val kind : (GapiAdsenseV1_4Model.AdClient.t, string) GapiLens.t
      val productCode : (GapiAdsenseV1_4Model.AdClient.t, string) GapiLens.t
      val supportsReporting :
        (GapiAdsenseV1_4Model.AdClient.t, bool) GapiLens.t
      val empty : GapiAdsenseV1_4Model.AdClient.t
      val render :
        GapiAdsenseV1_4Model.AdClient.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.AdClient.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdClient.t
      val to_data_model :
        GapiAdsenseV1_4Model.AdClient.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdClient.t
    end
  module AdClients :
    sig
      type t = {
        etag : string;
        items : GapiAdsenseV1_4Model.AdClient.t list;
        kind : string;
        nextPageToken : string;
      }
      val etag : (GapiAdsenseV1_4Model.AdClients.t, string) GapiLens.t
      val items :
        (GapiAdsenseV1_4Model.AdClients.t,
         GapiAdsenseV1_4Model.AdClient.t list)
        GapiLens.t
      val kind : (GapiAdsenseV1_4Model.AdClients.t, string) GapiLens.t
      val nextPageToken :
        (GapiAdsenseV1_4Model.AdClients.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.AdClients.t
      val render :
        GapiAdsenseV1_4Model.AdClients.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.AdClients.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdClients.t
      val to_data_model :
        GapiAdsenseV1_4Model.AdClients.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdClients.t
    end
  module AdUnit :
    sig
      module MobileContentAdsSettings :
        sig
          type t = {
            markupLanguage : string;
            scriptingLanguage : string;
            size : string;
            _type : string;
          }
          val markupLanguage :
            (GapiAdsenseV1_4Model.AdUnit.MobileContentAdsSettings.t, string)
            GapiLens.t
          val scriptingLanguage :
            (GapiAdsenseV1_4Model.AdUnit.MobileContentAdsSettings.t, string)
            GapiLens.t
          val size :
            (GapiAdsenseV1_4Model.AdUnit.MobileContentAdsSettings.t, string)
            GapiLens.t
          val _type :
            (GapiAdsenseV1_4Model.AdUnit.MobileContentAdsSettings.t, string)
            GapiLens.t
          val empty : GapiAdsenseV1_4Model.AdUnit.MobileContentAdsSettings.t
          val render :
            GapiAdsenseV1_4Model.AdUnit.MobileContentAdsSettings.t ->
            GapiJson.json_data_model list
          val parse :
            GapiAdsenseV1_4Model.AdUnit.MobileContentAdsSettings.t ->
            GapiJson.json_data_model ->
            GapiAdsenseV1_4Model.AdUnit.MobileContentAdsSettings.t
        end
      module FeedAdsSettings :
        sig
          type t = {
            adPosition : string;
            frequency : int;
            minimumWordCount : int;
            _type : string;
          }
          val adPosition :
            (GapiAdsenseV1_4Model.AdUnit.FeedAdsSettings.t, string)
            GapiLens.t
          val frequency :
            (GapiAdsenseV1_4Model.AdUnit.FeedAdsSettings.t, int) GapiLens.t
          val minimumWordCount :
            (GapiAdsenseV1_4Model.AdUnit.FeedAdsSettings.t, int) GapiLens.t
          val _type :
            (GapiAdsenseV1_4Model.AdUnit.FeedAdsSettings.t, string)
            GapiLens.t
          val empty : GapiAdsenseV1_4Model.AdUnit.FeedAdsSettings.t
          val render :
            GapiAdsenseV1_4Model.AdUnit.FeedAdsSettings.t ->
            GapiJson.json_data_model list
          val parse :
            GapiAdsenseV1_4Model.AdUnit.FeedAdsSettings.t ->
            GapiJson.json_data_model ->
            GapiAdsenseV1_4Model.AdUnit.FeedAdsSettings.t
        end
      module ContentAdsSettings :
        sig
          module BackupOption :
            sig
              type t = { color : string; _type : string; url : string; }
              val color :
                (GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.BackupOption.t,
                 string)
                GapiLens.t
              val _type :
                (GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.BackupOption.t,
                 string)
                GapiLens.t
              val url :
                (GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.BackupOption.t,
                 string)
                GapiLens.t
              val empty :
                GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.BackupOption.t
              val render :
                GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.BackupOption.t ->
                GapiJson.json_data_model list
              val parse :
                GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.BackupOption.t ->
                GapiJson.json_data_model ->
                GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.BackupOption.t
            end
          type t = {
            backupOption :
              GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.BackupOption.t;
            size : string;
            _type : string;
          }
          val backupOption :
            (GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.t,
             GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.BackupOption.t)
            GapiLens.t
          val size :
            (GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.t, string)
            GapiLens.t
          val _type :
            (GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.t, string)
            GapiLens.t
          val empty : GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.t
          val render :
            GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.t ->
            GapiJson.json_data_model list
          val parse :
            GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.t ->
            GapiJson.json_data_model ->
            GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.t
        end
      type t = {
        code : string;
        contentAdsSettings : GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.t;
        customStyle : GapiAdsenseV1_4Model.AdStyle.t;
        feedAdsSettings : GapiAdsenseV1_4Model.AdUnit.FeedAdsSettings.t;
        id : string;
        kind : string;
        mobileContentAdsSettings :
          GapiAdsenseV1_4Model.AdUnit.MobileContentAdsSettings.t;
        name : string;
        savedStyleId : string;
        status : string;
      }
      val code : (GapiAdsenseV1_4Model.AdUnit.t, string) GapiLens.t
      val contentAdsSettings :
        (GapiAdsenseV1_4Model.AdUnit.t,
         GapiAdsenseV1_4Model.AdUnit.ContentAdsSettings.t)
        GapiLens.t
      val customStyle :
        (GapiAdsenseV1_4Model.AdUnit.t, GapiAdsenseV1_4Model.AdStyle.t)
        GapiLens.t
      val feedAdsSettings :
        (GapiAdsenseV1_4Model.AdUnit.t,
         GapiAdsenseV1_4Model.AdUnit.FeedAdsSettings.t)
        GapiLens.t
      val id : (GapiAdsenseV1_4Model.AdUnit.t, string) GapiLens.t
      val kind : (GapiAdsenseV1_4Model.AdUnit.t, string) GapiLens.t
      val mobileContentAdsSettings :
        (GapiAdsenseV1_4Model.AdUnit.t,
         GapiAdsenseV1_4Model.AdUnit.MobileContentAdsSettings.t)
        GapiLens.t
      val name : (GapiAdsenseV1_4Model.AdUnit.t, string) GapiLens.t
      val savedStyleId : (GapiAdsenseV1_4Model.AdUnit.t, string) GapiLens.t
      val status : (GapiAdsenseV1_4Model.AdUnit.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.AdUnit.t
      val render :
        GapiAdsenseV1_4Model.AdUnit.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.AdUnit.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdUnit.t
      val to_data_model :
        GapiAdsenseV1_4Model.AdUnit.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdUnit.t
    end
  module AdUnits :
    sig
      type t = {
        etag : string;
        items : GapiAdsenseV1_4Model.AdUnit.t list;
        kind : string;
        nextPageToken : string;
      }
      val etag : (GapiAdsenseV1_4Model.AdUnits.t, string) GapiLens.t
      val items :
        (GapiAdsenseV1_4Model.AdUnits.t, GapiAdsenseV1_4Model.AdUnit.t list)
        GapiLens.t
      val kind : (GapiAdsenseV1_4Model.AdUnits.t, string) GapiLens.t
      val nextPageToken : (GapiAdsenseV1_4Model.AdUnits.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.AdUnits.t
      val render :
        GapiAdsenseV1_4Model.AdUnits.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.AdUnits.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdUnits.t
      val to_data_model :
        GapiAdsenseV1_4Model.AdUnits.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.AdUnits.t
    end
  module CustomChannel :
    sig
      module TargetingInfo :
        sig
          type t = {
            adsAppearOn : string;
            description : string;
            location : string;
            siteLanguage : string;
          }
          val adsAppearOn :
            (GapiAdsenseV1_4Model.CustomChannel.TargetingInfo.t, string)
            GapiLens.t
          val description :
            (GapiAdsenseV1_4Model.CustomChannel.TargetingInfo.t, string)
            GapiLens.t
          val location :
            (GapiAdsenseV1_4Model.CustomChannel.TargetingInfo.t, string)
            GapiLens.t
          val siteLanguage :
            (GapiAdsenseV1_4Model.CustomChannel.TargetingInfo.t, string)
            GapiLens.t
          val empty : GapiAdsenseV1_4Model.CustomChannel.TargetingInfo.t
          val render :
            GapiAdsenseV1_4Model.CustomChannel.TargetingInfo.t ->
            GapiJson.json_data_model list
          val parse :
            GapiAdsenseV1_4Model.CustomChannel.TargetingInfo.t ->
            GapiJson.json_data_model ->
            GapiAdsenseV1_4Model.CustomChannel.TargetingInfo.t
        end
      type t = {
        code : string;
        id : string;
        kind : string;
        name : string;
        targetingInfo : GapiAdsenseV1_4Model.CustomChannel.TargetingInfo.t;
      }
      val code : (GapiAdsenseV1_4Model.CustomChannel.t, string) GapiLens.t
      val id : (GapiAdsenseV1_4Model.CustomChannel.t, string) GapiLens.t
      val kind : (GapiAdsenseV1_4Model.CustomChannel.t, string) GapiLens.t
      val name : (GapiAdsenseV1_4Model.CustomChannel.t, string) GapiLens.t
      val targetingInfo :
        (GapiAdsenseV1_4Model.CustomChannel.t,
         GapiAdsenseV1_4Model.CustomChannel.TargetingInfo.t)
        GapiLens.t
      val empty : GapiAdsenseV1_4Model.CustomChannel.t
      val render :
        GapiAdsenseV1_4Model.CustomChannel.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.CustomChannel.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.CustomChannel.t
      val to_data_model :
        GapiAdsenseV1_4Model.CustomChannel.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.CustomChannel.t
    end
  module Alert :
    sig
      type t = {
        id : string;
        isDismissible : bool;
        kind : string;
        message : string;
        severity : string;
        _type : string;
      }
      val id : (GapiAdsenseV1_4Model.Alert.t, string) GapiLens.t
      val isDismissible : (GapiAdsenseV1_4Model.Alert.t, bool) GapiLens.t
      val kind : (GapiAdsenseV1_4Model.Alert.t, string) GapiLens.t
      val message : (GapiAdsenseV1_4Model.Alert.t, string) GapiLens.t
      val severity : (GapiAdsenseV1_4Model.Alert.t, string) GapiLens.t
      val _type : (GapiAdsenseV1_4Model.Alert.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.Alert.t
      val render :
        GapiAdsenseV1_4Model.Alert.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.Alert.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Alert.t
      val to_data_model :
        GapiAdsenseV1_4Model.Alert.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Alert.t
    end
  module Alerts :
    sig
      type t = { items : GapiAdsenseV1_4Model.Alert.t list; kind : string; }
      val items :
        (GapiAdsenseV1_4Model.Alerts.t, GapiAdsenseV1_4Model.Alert.t list)
        GapiLens.t
      val kind : (GapiAdsenseV1_4Model.Alerts.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.Alerts.t
      val render :
        GapiAdsenseV1_4Model.Alerts.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.Alerts.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Alerts.t
      val to_data_model :
        GapiAdsenseV1_4Model.Alerts.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Alerts.t
    end
  module UrlChannel :
    sig
      type t = { id : string; kind : string; urlPattern : string; }
      val id : (GapiAdsenseV1_4Model.UrlChannel.t, string) GapiLens.t
      val kind : (GapiAdsenseV1_4Model.UrlChannel.t, string) GapiLens.t
      val urlPattern : (GapiAdsenseV1_4Model.UrlChannel.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.UrlChannel.t
      val render :
        GapiAdsenseV1_4Model.UrlChannel.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.UrlChannel.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.UrlChannel.t
      val to_data_model :
        GapiAdsenseV1_4Model.UrlChannel.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.UrlChannel.t
    end
  module Account :
    sig
      type t = {
        creation_time : int64;
        id : string;
        kind : string;
        name : string;
        premium : bool;
        subAccounts : GapiAdsenseV1_4Model.Account.t list;
        timezone : string;
      }
      val creation_time : (GapiAdsenseV1_4Model.Account.t, int64) GapiLens.t
      val id : (GapiAdsenseV1_4Model.Account.t, string) GapiLens.t
      val kind : (GapiAdsenseV1_4Model.Account.t, string) GapiLens.t
      val name : (GapiAdsenseV1_4Model.Account.t, string) GapiLens.t
      val premium : (GapiAdsenseV1_4Model.Account.t, bool) GapiLens.t
      val subAccounts :
        (GapiAdsenseV1_4Model.Account.t, GapiAdsenseV1_4Model.Account.t list)
        GapiLens.t
      val timezone : (GapiAdsenseV1_4Model.Account.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.Account.t
      val render :
        GapiAdsenseV1_4Model.Account.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.Account.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Account.t
      val to_data_model :
        GapiAdsenseV1_4Model.Account.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Account.t
    end
  module CustomChannels :
    sig
      type t = {
        etag : string;
        items : GapiAdsenseV1_4Model.CustomChannel.t list;
        kind : string;
        nextPageToken : string;
      }
      val etag : (GapiAdsenseV1_4Model.CustomChannels.t, string) GapiLens.t
      val items :
        (GapiAdsenseV1_4Model.CustomChannels.t,
         GapiAdsenseV1_4Model.CustomChannel.t list)
        GapiLens.t
      val kind : (GapiAdsenseV1_4Model.CustomChannels.t, string) GapiLens.t
      val nextPageToken :
        (GapiAdsenseV1_4Model.CustomChannels.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.CustomChannels.t
      val render :
        GapiAdsenseV1_4Model.CustomChannels.t ->
        GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.CustomChannels.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.CustomChannels.t
      val to_data_model :
        GapiAdsenseV1_4Model.CustomChannels.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.CustomChannels.t
    end
  module ReportingMetadataEntry :
    sig
      type t = {
        compatibleDimensions : string list;
        compatibleMetrics : string list;
        id : string;
        kind : string;
        requiredDimensions : string list;
        requiredMetrics : string list;
        supportedProducts : string list;
      }
      val compatibleDimensions :
        (GapiAdsenseV1_4Model.ReportingMetadataEntry.t, string list)
        GapiLens.t
      val compatibleMetrics :
        (GapiAdsenseV1_4Model.ReportingMetadataEntry.t, string list)
        GapiLens.t
      val id :
        (GapiAdsenseV1_4Model.ReportingMetadataEntry.t, string) GapiLens.t
      val kind :
        (GapiAdsenseV1_4Model.ReportingMetadataEntry.t, string) GapiLens.t
      val requiredDimensions :
        (GapiAdsenseV1_4Model.ReportingMetadataEntry.t, string list)
        GapiLens.t
      val requiredMetrics :
        (GapiAdsenseV1_4Model.ReportingMetadataEntry.t, string list)
        GapiLens.t
      val supportedProducts :
        (GapiAdsenseV1_4Model.ReportingMetadataEntry.t, string list)
        GapiLens.t
      val empty : GapiAdsenseV1_4Model.ReportingMetadataEntry.t
      val render :
        GapiAdsenseV1_4Model.ReportingMetadataEntry.t ->
        GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.ReportingMetadataEntry.t ->
        GapiJson.json_data_model ->
        GapiAdsenseV1_4Model.ReportingMetadataEntry.t
      val to_data_model :
        GapiAdsenseV1_4Model.ReportingMetadataEntry.t ->
        GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model ->
        GapiAdsenseV1_4Model.ReportingMetadataEntry.t
    end
  module Accounts :
    sig
      type t = {
        etag : string;
        items : GapiAdsenseV1_4Model.Account.t list;
        kind : string;
        nextPageToken : string;
      }
      val etag : (GapiAdsenseV1_4Model.Accounts.t, string) GapiLens.t
      val items :
        (GapiAdsenseV1_4Model.Accounts.t,
         GapiAdsenseV1_4Model.Account.t list)
        GapiLens.t
      val kind : (GapiAdsenseV1_4Model.Accounts.t, string) GapiLens.t
      val nextPageToken :
        (GapiAdsenseV1_4Model.Accounts.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.Accounts.t
      val render :
        GapiAdsenseV1_4Model.Accounts.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.Accounts.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Accounts.t
      val to_data_model :
        GapiAdsenseV1_4Model.Accounts.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Accounts.t
    end
  module AdsenseReportsGenerateResponse :
    sig
      module Headers :
        sig
          type t = { currency : string; name : string; _type : string; }
          val currency :
            (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.Headers.t,
             string)
            GapiLens.t
          val name :
            (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.Headers.t,
             string)
            GapiLens.t
          val _type :
            (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.Headers.t,
             string)
            GapiLens.t
          val empty :
            GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.Headers.t
          val render :
            GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.Headers.t ->
            GapiJson.json_data_model list
          val parse :
            GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.Headers.t ->
            GapiJson.json_data_model ->
            GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.Headers.t
        end
      type t = {
        averages : string list;
        endDate : string;
        headers :
          GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.Headers.t list;
        kind : string;
        rows : string list list;
        startDate : string;
        totalMatchedRows : int64;
        totals : string list;
        warnings : string list;
      }
      val averages :
        (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t, string list)
        GapiLens.t
      val endDate :
        (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t, string)
        GapiLens.t
      val headers :
        (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t,
         GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.Headers.t list)
        GapiLens.t
      val kind :
        (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t, string)
        GapiLens.t
      val rows :
        (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t,
         string list list)
        GapiLens.t
      val startDate :
        (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t, string)
        GapiLens.t
      val totalMatchedRows :
        (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t, int64)
        GapiLens.t
      val totals :
        (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t, string list)
        GapiLens.t
      val warnings :
        (GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t, string list)
        GapiLens.t
      val empty : GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t
      val render :
        GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t ->
        GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t ->
        GapiJson.json_data_model ->
        GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t
      val to_data_model :
        GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t ->
        GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model ->
        GapiAdsenseV1_4Model.AdsenseReportsGenerateResponse.t
    end
  module UrlChannels :
    sig
      type t = {
        etag : string;
        items : GapiAdsenseV1_4Model.UrlChannel.t list;
        kind : string;
        nextPageToken : string;
      }
      val etag : (GapiAdsenseV1_4Model.UrlChannels.t, string) GapiLens.t
      val items :
        (GapiAdsenseV1_4Model.UrlChannels.t,
         GapiAdsenseV1_4Model.UrlChannel.t list)
        GapiLens.t
      val kind : (GapiAdsenseV1_4Model.UrlChannels.t, string) GapiLens.t
      val nextPageToken :
        (GapiAdsenseV1_4Model.UrlChannels.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.UrlChannels.t
      val render :
        GapiAdsenseV1_4Model.UrlChannels.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.UrlChannels.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.UrlChannels.t
      val to_data_model :
        GapiAdsenseV1_4Model.UrlChannels.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.UrlChannels.t
    end
  module Metadata :
    sig
      type t = {
        items : GapiAdsenseV1_4Model.ReportingMetadataEntry.t list;
        kind : string;
      }
      val items :
        (GapiAdsenseV1_4Model.Metadata.t,
         GapiAdsenseV1_4Model.ReportingMetadataEntry.t list)
        GapiLens.t
      val kind : (GapiAdsenseV1_4Model.Metadata.t, string) GapiLens.t
      val empty : GapiAdsenseV1_4Model.Metadata.t
      val render :
        GapiAdsenseV1_4Model.Metadata.t -> GapiJson.json_data_model list
      val parse :
        GapiAdsenseV1_4Model.Metadata.t ->
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Metadata.t
      val to_data_model :
        GapiAdsenseV1_4Model.Metadata.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiAdsenseV1_4Model.Metadata.t
    end
end