sig
  module Simple :
    sig
      type t = { multipart : bool; path : string; }
      val multipart :
        (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t,
         bool)
        GapiLens.t
      val path :
        (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t,
         string)
        GapiLens.t
      val empty :
        GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t
      val render :
        GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t ->
        GapiJson.json_data_model list
      val parse :
        GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t ->
        GapiJson.json_data_model ->
        GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t
    end
  module Resumable :
    sig
      type t = { multipart : bool; path : string; }
      val multipart :
        (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t,
         bool)
        GapiLens.t
      val path :
        (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t,
         string)
        GapiLens.t
      val empty :
        GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t
      val render :
        GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t ->
        GapiJson.json_data_model list
      val parse :
        GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t ->
        GapiJson.json_data_model ->
        GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t
    end
  type t = {
    resumable :
      GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t;
    simple : GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t;
  }
  val resumable :
    (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t,
     GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Resumable.t)
    GapiLens.t
  val simple :
    (GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t,
     GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.Simple.t)
    GapiLens.t
  val empty : GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t
  val render :
    GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t ->
    GapiJson.json_data_model list
  val parse :
    GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t ->
    GapiJson.json_data_model ->
    GapiDiscoveryV1Model.RestMethod.MediaUpload.Protocols.t
end