sig
  module Scopes :
    sig
      type t = { description : string; }
      val description :
        (GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t, string)
        GapiLens.t
      val empty : GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t
      val render :
        GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t ->
        GapiJson.json_data_model list
      val parse :
        GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t ->
        GapiJson.json_data_model ->
        GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t
    end
  type t = {
    scopes :
      (string * GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t)
      list;
  }
  val scopes :
    (GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t,
     (string * GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.Scopes.t)
     list)
    GapiLens.t
  val empty : GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t
  val render :
    GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t ->
    GapiJson.json_data_model list
  val parse :
    GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t ->
    GapiJson.json_data_model ->
    GapiDiscoveryV1Model.RestDescription.Auth.Oauth2.t
end