sig
  module Scope :
    sig
      val drive : string
      val drive_appdata : string
      val drive_file : string
      val drive_metadata : string
      val drive_metadata_readonly : string
      val drive_photos_readonly : string
      val drive_readonly : string
      val drive_scripts : string
    end
  module AboutResource :
    sig
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.About.t * GapiConversation.Session.t
    end
  module ChangesResource :
    sig
      val getStartPageToken :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.StartPageToken.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?includeRemoved:bool ->
        ?pageSize:int ->
        ?restrictToMyDrive:bool ->
        ?spaces:string ->
        pageToken:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.ChangeList.t * GapiConversation.Session.t
      val watch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?includeRemoved:bool ->
        ?pageSize:int ->
        ?restrictToMyDrive:bool ->
        ?spaces:string ->
        pageToken:string ->
        GapiDriveV3Model.Channel.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Channel.t * GapiConversation.Session.t
    end
  module ChannelsResource :
    sig
      val stop :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        GapiDriveV3Model.Channel.t ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
    end
  module CommentsResource :
    sig
      val create :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiDriveV3Model.Comment.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Comment.t * GapiConversation.Session.t
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        commentId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?includeDeleted:bool ->
        fileId:string ->
        commentId:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Comment.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?includeDeleted:bool ->
        ?pageSize:int ->
        ?pageToken:string ->
        ?startModifiedTime:string ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.CommentList.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        commentId:string ->
        GapiDriveV3Model.Comment.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Comment.t * GapiConversation.Session.t
    end
  module FilesResource :
    sig
      module Corpus :
        sig
          type t = Default | Domain | User
          val to_string : GapiDriveV3Service.FilesResource.Corpus.t -> string
          val of_string : string -> GapiDriveV3Service.FilesResource.Corpus.t
        end
      val copy :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?ignoreDefaultVisibility:bool ->
        ?keepRevisionForever:bool ->
        ?ocrLanguage:string ->
        fileId:string ->
        GapiDriveV3Model.File.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.File.t * GapiConversation.Session.t
      val create :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_source:GapiMediaResource.t ->
        ?ignoreDefaultVisibility:bool ->
        ?keepRevisionForever:bool ->
        ?useContentAsIndexableText:bool ->
        ?ocrLanguage:string ->
        GapiDriveV3Model.File.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.File.t * GapiConversation.Session.t
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val emptyTrash :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val export :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_download:GapiMediaResource.download ->
        fileId:string ->
        mimeType:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val generateIds :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?count:int ->
        ?space:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.GeneratedIds.t * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_download:GapiMediaResource.download ->
        ?acknowledgeAbuse:bool ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.File.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?corpus:GapiDriveV3Service.FilesResource.Corpus.t ->
        ?pageSize:int ->
        ?spaces:string ->
        ?orderBy:string ->
        ?pageToken:string ->
        ?q:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.FileList.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_source:GapiMediaResource.t ->
        ?keepRevisionForever:bool ->
        ?useContentAsIndexableText:bool ->
        ?addParents:string ->
        ?ocrLanguage:string ->
        ?removeParents:string ->
        fileId:string ->
        GapiDriveV3Model.File.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.File.t * GapiConversation.Session.t
      val watch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_download:GapiMediaResource.download ->
        ?acknowledgeAbuse:bool ->
        fileId:string ->
        GapiDriveV3Model.Channel.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Channel.t * GapiConversation.Session.t
    end
  module PermissionsResource :
    sig
      val create :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?transferOwnership:bool ->
        ?emailMessage:string ->
        ?sendNotificationEmail:bool ->
        fileId:string ->
        GapiDriveV3Model.Permission.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Permission.t * GapiConversation.Session.t
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        permissionId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        permissionId:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Permission.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.PermissionList.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?removeExpiration:bool ->
        ?transferOwnership:bool ->
        fileId:string ->
        permissionId:string ->
        GapiDriveV3Model.Permission.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Permission.t * GapiConversation.Session.t
    end
  module RepliesResource :
    sig
      val create :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        commentId:string ->
        GapiDriveV3Model.Reply.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Reply.t * GapiConversation.Session.t
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        commentId:string ->
        replyId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?includeDeleted:bool ->
        fileId:string ->
        commentId:string ->
        replyId:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Reply.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?includeDeleted:bool ->
        ?pageSize:int ->
        ?pageToken:string ->
        fileId:string ->
        commentId:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.ReplyList.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        commentId:string ->
        replyId:string ->
        GapiDriveV3Model.Reply.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Reply.t * GapiConversation.Session.t
    end
  module RevisionsResource :
    sig
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        revisionId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_download:GapiMediaResource.download ->
        ?acknowledgeAbuse:bool ->
        fileId:string ->
        revisionId:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Revision.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?pageSize:int ->
        ?pageToken:string ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.RevisionList.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        revisionId:string ->
        GapiDriveV3Model.Revision.t ->
        GapiConversation.Session.t ->
        GapiDriveV3Model.Revision.t * GapiConversation.Session.t
    end
end