sig
  module StringCount :
    sig
      type t = { count : int64; id : string; }
      val count : (GapiUrlshortenerV1Model.StringCount.t, int64) GapiLens.t
      val id : (GapiUrlshortenerV1Model.StringCount.t, string) GapiLens.t
      val empty : GapiUrlshortenerV1Model.StringCount.t
      val render :
        GapiUrlshortenerV1Model.StringCount.t ->
        GapiJson.json_data_model list
      val parse :
        GapiUrlshortenerV1Model.StringCount.t ->
        GapiJson.json_data_model -> GapiUrlshortenerV1Model.StringCount.t
      val to_data_model :
        GapiUrlshortenerV1Model.StringCount.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiUrlshortenerV1Model.StringCount.t
    end
  module AnalyticsSnapshot :
    sig
      type t = {
        browsers : GapiUrlshortenerV1Model.StringCount.t list;
        countries : GapiUrlshortenerV1Model.StringCount.t list;
        longUrlClicks : int64;
        platforms : GapiUrlshortenerV1Model.StringCount.t list;
        referrers : GapiUrlshortenerV1Model.StringCount.t list;
        shortUrlClicks : int64;
      }
      val browsers :
        (GapiUrlshortenerV1Model.AnalyticsSnapshot.t,
         GapiUrlshortenerV1Model.StringCount.t list)
        GapiLens.t
      val countries :
        (GapiUrlshortenerV1Model.AnalyticsSnapshot.t,
         GapiUrlshortenerV1Model.StringCount.t list)
        GapiLens.t
      val longUrlClicks :
        (GapiUrlshortenerV1Model.AnalyticsSnapshot.t, int64) GapiLens.t
      val platforms :
        (GapiUrlshortenerV1Model.AnalyticsSnapshot.t,
         GapiUrlshortenerV1Model.StringCount.t list)
        GapiLens.t
      val referrers :
        (GapiUrlshortenerV1Model.AnalyticsSnapshot.t,
         GapiUrlshortenerV1Model.StringCount.t list)
        GapiLens.t
      val shortUrlClicks :
        (GapiUrlshortenerV1Model.AnalyticsSnapshot.t, int64) GapiLens.t
      val empty : GapiUrlshortenerV1Model.AnalyticsSnapshot.t
      val render :
        GapiUrlshortenerV1Model.AnalyticsSnapshot.t ->
        GapiJson.json_data_model list
      val parse :
        GapiUrlshortenerV1Model.AnalyticsSnapshot.t ->
        GapiJson.json_data_model ->
        GapiUrlshortenerV1Model.AnalyticsSnapshot.t
      val to_data_model :
        GapiUrlshortenerV1Model.AnalyticsSnapshot.t ->
        GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model ->
        GapiUrlshortenerV1Model.AnalyticsSnapshot.t
    end
  module AnalyticsSummary :
    sig
      type t = {
        allTime : GapiUrlshortenerV1Model.AnalyticsSnapshot.t;
        day : GapiUrlshortenerV1Model.AnalyticsSnapshot.t;
        month : GapiUrlshortenerV1Model.AnalyticsSnapshot.t;
        twoHours : GapiUrlshortenerV1Model.AnalyticsSnapshot.t;
        week : GapiUrlshortenerV1Model.AnalyticsSnapshot.t;
      }
      val allTime :
        (GapiUrlshortenerV1Model.AnalyticsSummary.t,
         GapiUrlshortenerV1Model.AnalyticsSnapshot.t)
        GapiLens.t
      val day :
        (GapiUrlshortenerV1Model.AnalyticsSummary.t,
         GapiUrlshortenerV1Model.AnalyticsSnapshot.t)
        GapiLens.t
      val month :
        (GapiUrlshortenerV1Model.AnalyticsSummary.t,
         GapiUrlshortenerV1Model.AnalyticsSnapshot.t)
        GapiLens.t
      val twoHours :
        (GapiUrlshortenerV1Model.AnalyticsSummary.t,
         GapiUrlshortenerV1Model.AnalyticsSnapshot.t)
        GapiLens.t
      val week :
        (GapiUrlshortenerV1Model.AnalyticsSummary.t,
         GapiUrlshortenerV1Model.AnalyticsSnapshot.t)
        GapiLens.t
      val empty : GapiUrlshortenerV1Model.AnalyticsSummary.t
      val render :
        GapiUrlshortenerV1Model.AnalyticsSummary.t ->
        GapiJson.json_data_model list
      val parse :
        GapiUrlshortenerV1Model.AnalyticsSummary.t ->
        GapiJson.json_data_model ->
        GapiUrlshortenerV1Model.AnalyticsSummary.t
      val to_data_model :
        GapiUrlshortenerV1Model.AnalyticsSummary.t ->
        GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model ->
        GapiUrlshortenerV1Model.AnalyticsSummary.t
    end
  module Url :
    sig
      type t = {
        analytics : GapiUrlshortenerV1Model.AnalyticsSummary.t;
        created : string;
        id : string;
        kind : string;
        longUrl : string;
        status : string;
      }
      val analytics :
        (GapiUrlshortenerV1Model.Url.t,
         GapiUrlshortenerV1Model.AnalyticsSummary.t)
        GapiLens.t
      val created : (GapiUrlshortenerV1Model.Url.t, string) GapiLens.t
      val id : (GapiUrlshortenerV1Model.Url.t, string) GapiLens.t
      val kind : (GapiUrlshortenerV1Model.Url.t, string) GapiLens.t
      val longUrl : (GapiUrlshortenerV1Model.Url.t, string) GapiLens.t
      val status : (GapiUrlshortenerV1Model.Url.t, string) GapiLens.t
      val empty : GapiUrlshortenerV1Model.Url.t
      val render :
        GapiUrlshortenerV1Model.Url.t -> GapiJson.json_data_model list
      val parse :
        GapiUrlshortenerV1Model.Url.t ->
        GapiJson.json_data_model -> GapiUrlshortenerV1Model.Url.t
      val to_data_model :
        GapiUrlshortenerV1Model.Url.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiUrlshortenerV1Model.Url.t
    end
  module UrlHistory :
    sig
      type t = {
        items : GapiUrlshortenerV1Model.Url.t list;
        itemsPerPage : int;
        kind : string;
        nextPageToken : string;
        totalItems : int;
      }
      val items :
        (GapiUrlshortenerV1Model.UrlHistory.t,
         GapiUrlshortenerV1Model.Url.t list)
        GapiLens.t
      val itemsPerPage :
        (GapiUrlshortenerV1Model.UrlHistory.t, int) GapiLens.t
      val kind : (GapiUrlshortenerV1Model.UrlHistory.t, string) GapiLens.t
      val nextPageToken :
        (GapiUrlshortenerV1Model.UrlHistory.t, string) GapiLens.t
      val totalItems : (GapiUrlshortenerV1Model.UrlHistory.t, int) GapiLens.t
      val empty : GapiUrlshortenerV1Model.UrlHistory.t
      val render :
        GapiUrlshortenerV1Model.UrlHistory.t -> GapiJson.json_data_model list
      val parse :
        GapiUrlshortenerV1Model.UrlHistory.t ->
        GapiJson.json_data_model -> GapiUrlshortenerV1Model.UrlHistory.t
      val to_data_model :
        GapiUrlshortenerV1Model.UrlHistory.t -> GapiJson.json_data_model
      val of_data_model :
        GapiJson.json_data_model -> GapiUrlshortenerV1Model.UrlHistory.t
    end
end