sig
  module Query :
    sig
      type t = {
        dimensions : string;
        filters : string;
        ids : string;
        max_results : int;
        metrics : string list;
        sort : string list;
      }
      val dimensions :
        (GapiAnalyticsV3Model.RealtimeData.Query.t, string) GapiLens.t
      val filters :
        (GapiAnalyticsV3Model.RealtimeData.Query.t, string) GapiLens.t
      val ids :
        (GapiAnalyticsV3Model.RealtimeData.Query.t, string) GapiLens.t
      val max_results :
        (GapiAnalyticsV3Model.RealtimeData.Query.t, int) GapiLens.t
      val metrics :
        (GapiAnalyticsV3Model.RealtimeData.Query.t, string list) GapiLens.t
      val sort :
        (GapiAnalyticsV3Model.RealtimeData.Query.t, string list) GapiLens.t
      val empty : GapiAnalyticsV3Model.RealtimeData.Query.t
      val render :
        GapiAnalyticsV3Model.RealtimeData.Query.t ->
        GapiJson.json_data_model list
      val parse :
        GapiAnalyticsV3Model.RealtimeData.Query.t ->
        GapiJson.json_data_model -> GapiAnalyticsV3Model.RealtimeData.Query.t
    end
  module ProfileInfo :
    sig
      type t = {
        accountId : string;
        internalWebPropertyId : string;
        profileId : string;
        profileName : string;
        tableId : string;
        webPropertyId : string;
      }
      val accountId :
        (GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t, string) GapiLens.t
      val internalWebPropertyId :
        (GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t, string) GapiLens.t
      val profileId :
        (GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t, string) GapiLens.t
      val profileName :
        (GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t, string) GapiLens.t
      val tableId :
        (GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t, string) GapiLens.t
      val webPropertyId :
        (GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t, string) GapiLens.t
      val empty : GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t
      val render :
        GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t ->
        GapiJson.json_data_model list
      val parse :
        GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t ->
        GapiJson.json_data_model ->
        GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t
    end
  module ColumnHeaders :
    sig
      type t = { columnType : string; dataType : string; name : string; }
      val columnType :
        (GapiAnalyticsV3Model.RealtimeData.ColumnHeaders.t, string)
        GapiLens.t
      val dataType :
        (GapiAnalyticsV3Model.RealtimeData.ColumnHeaders.t, string)
        GapiLens.t
      val name :
        (GapiAnalyticsV3Model.RealtimeData.ColumnHeaders.t, string)
        GapiLens.t
      val empty : GapiAnalyticsV3Model.RealtimeData.ColumnHeaders.t
      val render :
        GapiAnalyticsV3Model.RealtimeData.ColumnHeaders.t ->
        GapiJson.json_data_model list
      val parse :
        GapiAnalyticsV3Model.RealtimeData.ColumnHeaders.t ->
        GapiJson.json_data_model ->
        GapiAnalyticsV3Model.RealtimeData.ColumnHeaders.t
    end
  type t = {
    columnHeaders : GapiAnalyticsV3Model.RealtimeData.ColumnHeaders.t list;
    id : string;
    kind : string;
    profileInfo : GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t;
    query : GapiAnalyticsV3Model.RealtimeData.Query.t;
    rows : string list list;
    selfLink : string;
    totalResults : int;
    totalsForAllResults : (string * string) list;
  }
  val columnHeaders :
    (GapiAnalyticsV3Model.RealtimeData.t,
     GapiAnalyticsV3Model.RealtimeData.ColumnHeaders.t list)
    GapiLens.t
  val id : (GapiAnalyticsV3Model.RealtimeData.t, string) GapiLens.t
  val kind : (GapiAnalyticsV3Model.RealtimeData.t, string) GapiLens.t
  val profileInfo :
    (GapiAnalyticsV3Model.RealtimeData.t,
     GapiAnalyticsV3Model.RealtimeData.ProfileInfo.t)
    GapiLens.t
  val query :
    (GapiAnalyticsV3Model.RealtimeData.t,
     GapiAnalyticsV3Model.RealtimeData.Query.t)
    GapiLens.t
  val rows :
    (GapiAnalyticsV3Model.RealtimeData.t, string list list) GapiLens.t
  val selfLink : (GapiAnalyticsV3Model.RealtimeData.t, string) GapiLens.t
  val totalResults : (GapiAnalyticsV3Model.RealtimeData.t, int) GapiLens.t
  val totalsForAllResults :
    (GapiAnalyticsV3Model.RealtimeData.t, (string * string) list) GapiLens.t
  val empty : GapiAnalyticsV3Model.RealtimeData.t
  val render :
    GapiAnalyticsV3Model.RealtimeData.t -> GapiJson.json_data_model list
  val parse :
    GapiAnalyticsV3Model.RealtimeData.t ->
    GapiJson.json_data_model -> GapiAnalyticsV3Model.RealtimeData.t
  val to_data_model :
    GapiAnalyticsV3Model.RealtimeData.t -> GapiJson.json_data_model
  val of_data_model :
    GapiJson.json_data_model -> GapiAnalyticsV3Model.RealtimeData.t
end