sig
  module Scope :
    sig
      val drive : string
      val drive_appdata : string
      val drive_apps_readonly : 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 ->
        ?includeSubscribed:bool ->
        ?maxChangeIdCount:int64 ->
        ?startChangeId:int64 ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.About.t * GapiConversation.Session.t
    end
  module AppsResource :
    sig
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        appId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.App.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?appFilterExtensions:string ->
        ?appFilterMimeTypes:string ->
        ?languageCode:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.AppList.t * GapiConversation.Session.t
    end
  module ChangesResource :
    sig
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        changeId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Change.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?includeDeleted:bool ->
        ?includeSubscribed:bool ->
        ?maxResults:int ->
        ?pageToken:string ->
        ?spaces:string ->
        ?startChangeId:int64 ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.ChangeList.t * GapiConversation.Session.t
      val watch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?includeDeleted:bool ->
        ?includeSubscribed:bool ->
        ?maxResults:int ->
        ?pageToken:string ->
        ?spaces:string ->
        ?startChangeId:int64 ->
        GapiDriveV2Model.Channel.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Channel.t * GapiConversation.Session.t
    end
  module ChannelsResource :
    sig
      val stop :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        GapiDriveV2Model.Channel.t ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
    end
  module ChildrenResource :
    sig
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        folderId:string ->
        childId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        folderId:string ->
        childId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.ChildReference.t * GapiConversation.Session.t
      val insert :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        folderId:string ->
        GapiDriveV2Model.ChildReference.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.ChildReference.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?maxResults:int ->
        ?orderBy:string ->
        ?pageToken:string ->
        ?q:string ->
        folderId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.ChildList.t * GapiConversation.Session.t
    end
  module CommentsResource :
    sig
      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 ->
        GapiDriveV2Model.Comment.t * GapiConversation.Session.t
      val insert :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiDriveV2Model.Comment.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Comment.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?includeDeleted:bool ->
        ?maxResults:int ->
        ?pageToken:string ->
        ?updatedMin:string ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.CommentList.t * GapiConversation.Session.t
      val patch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        commentId:string ->
        GapiDriveV2Model.Comment.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Comment.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        commentId:string ->
        GapiDriveV2Model.Comment.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Comment.t * GapiConversation.Session.t
    end
  module FilesResource :
    sig
      module Visibility :
        sig
          type t = Default | DEFAULT | PRIVATE
          val to_string :
            GapiDriveV2Service.FilesResource.Visibility.t -> string
          val of_string :
            string -> GapiDriveV2Service.FilesResource.Visibility.t
        end
      module Projection :
        sig
          type t = Default | BASIC | FULL
          val to_string :
            GapiDriveV2Service.FilesResource.Projection.t -> string
          val of_string :
            string -> GapiDriveV2Service.FilesResource.Projection.t
        end
      module ModifiedDateBehavior :
        sig
          type t =
              Default
            | FromBody
            | FromBodyIfNeeded
            | FromBodyOrNow
            | NoChange
            | Now
            | NowIfNeeded
          val to_string :
            GapiDriveV2Service.FilesResource.ModifiedDateBehavior.t -> string
          val of_string :
            string -> GapiDriveV2Service.FilesResource.ModifiedDateBehavior.t
        end
      module Corpus :
        sig
          type t = Default | DEFAULT | DOMAIN
          val to_string : GapiDriveV2Service.FilesResource.Corpus.t -> string
          val of_string : string -> GapiDriveV2Service.FilesResource.Corpus.t
        end
      val copy :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?convert:bool ->
        ?ocr:bool ->
        ?pinned:bool ->
        ?visibility:GapiDriveV2Service.FilesResource.Visibility.t ->
        ?ocrLanguage:string ->
        ?timedTextLanguage:string ->
        ?timedTextTrackName:string ->
        fileId:string ->
        GapiDriveV2Model.File.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.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 ->
        ?maxResults:int ->
        ?space:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.GeneratedIds.t * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_download:GapiMediaResource.download ->
        ?acknowledgeAbuse:bool ->
        ?updateViewedDate:bool ->
        ?projection:GapiDriveV2Service.FilesResource.Projection.t ->
        ?revisionId:string ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.File.t * GapiConversation.Session.t
      val insert :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_source:GapiMediaResource.t ->
        ?convert:bool ->
        ?ocr:bool ->
        ?pinned:bool ->
        ?useContentAsIndexableText:bool ->
        ?visibility:GapiDriveV2Service.FilesResource.Visibility.t ->
        ?ocrLanguage:string ->
        ?timedTextLanguage:string ->
        ?timedTextTrackName:string ->
        GapiDriveV2Model.File.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.File.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?maxResults:int ->
        ?corpus:GapiDriveV2Service.FilesResource.Corpus.t ->
        ?orderBy:string ->
        ?pageToken:string ->
        ?projection:GapiDriveV2Service.FilesResource.Projection.t ->
        ?q:string ->
        ?spaces:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.FileList.t * GapiConversation.Session.t
      val patch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?convert:bool ->
        ?newRevision:bool ->
        ?ocr:bool ->
        ?pinned:bool ->
        ?setModifiedDate:bool ->
        ?updateViewedDate:bool ->
        ?useContentAsIndexableText:bool ->
        ?addParents:string ->
        ?modifiedDateBehavior:GapiDriveV2Service.FilesResource.ModifiedDateBehavior.t ->
        ?ocrLanguage:string ->
        ?removeParents:string ->
        ?timedTextLanguage:string ->
        ?timedTextTrackName:string ->
        fileId:string ->
        GapiDriveV2Model.File.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.File.t * GapiConversation.Session.t
      val touch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.File.t * GapiConversation.Session.t
      val trash :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.File.t * GapiConversation.Session.t
      val untrash :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.File.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_source:GapiMediaResource.t ->
        ?convert:bool ->
        ?newRevision:bool ->
        ?ocr:bool ->
        ?pinned:bool ->
        ?setModifiedDate:bool ->
        ?updateViewedDate:bool ->
        ?useContentAsIndexableText:bool ->
        ?addParents:string ->
        ?modifiedDateBehavior:GapiDriveV2Service.FilesResource.ModifiedDateBehavior.t ->
        ?ocrLanguage:string ->
        ?removeParents:string ->
        ?timedTextLanguage:string ->
        ?timedTextTrackName:string ->
        fileId:string ->
        GapiDriveV2Model.File.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.File.t * GapiConversation.Session.t
      val watch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_download:GapiMediaResource.download ->
        ?acknowledgeAbuse:bool ->
        ?updateViewedDate:bool ->
        ?projection:GapiDriveV2Service.FilesResource.Projection.t ->
        ?revisionId:string ->
        fileId:string ->
        GapiDriveV2Model.Channel.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Channel.t * GapiConversation.Session.t
    end
  module ParentsResource :
    sig
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        parentId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        parentId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.ParentReference.t * GapiConversation.Session.t
      val insert :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiDriveV2Model.ParentReference.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.ParentReference.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.ParentList.t * GapiConversation.Session.t
    end
  module PermissionsResource :
    sig
      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 ->
        GapiDriveV2Model.Permission.t * GapiConversation.Session.t
      val getIdForEmail :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        email:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.PermissionId.t * GapiConversation.Session.t
      val insert :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?sendNotificationEmails:bool ->
        ?emailMessage:string ->
        fileId:string ->
        GapiDriveV2Model.Permission.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Permission.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.PermissionList.t * GapiConversation.Session.t
      val patch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?removeExpiration:bool ->
        ?transferOwnership:bool ->
        fileId:string ->
        permissionId:string ->
        GapiDriveV2Model.Permission.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Permission.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?removeExpiration:bool ->
        ?transferOwnership:bool ->
        fileId:string ->
        permissionId:string ->
        GapiDriveV2Model.Permission.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Permission.t * GapiConversation.Session.t
    end
  module PropertiesResource :
    sig
      val delete :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?visibility:string ->
        fileId:string ->
        propertyKey:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?visibility:string ->
        fileId:string ->
        propertyKey:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Property.t * GapiConversation.Session.t
      val insert :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiDriveV2Model.Property.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Property.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.PropertyList.t * GapiConversation.Session.t
      val patch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?visibility:string ->
        fileId:string ->
        propertyKey:string ->
        GapiDriveV2Model.Property.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Property.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?visibility:string ->
        fileId:string ->
        propertyKey:string ->
        GapiDriveV2Model.Property.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Property.t * GapiConversation.Session.t
    end
  module RealtimeResource :
    sig
      val get :
        ?base_url:string ->
        ?etag:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_download:GapiMediaResource.download ->
        ?revision:int ->
        fileId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?media_source:GapiMediaResource.t ->
        ?baseRevision:string ->
        fileId:string ->
        GapiConversation.Session.t -> unit * GapiConversation.Session.t
    end
  module RepliesResource :
    sig
      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 ->
        GapiDriveV2Model.CommentReply.t * GapiConversation.Session.t
      val insert :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        commentId:string ->
        GapiDriveV2Model.CommentReply.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.CommentReply.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?includeDeleted:bool ->
        ?maxResults:int ->
        ?pageToken:string ->
        fileId:string ->
        commentId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.CommentReplyList.t * GapiConversation.Session.t
      val patch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        commentId:string ->
        replyId:string ->
        GapiDriveV2Model.CommentReply.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.CommentReply.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        commentId:string ->
        replyId:string ->
        GapiDriveV2Model.CommentReply.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.CommentReply.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 ->
        fileId:string ->
        revisionId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Revision.t * GapiConversation.Session.t
      val list :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        ?maxResults:int ->
        ?pageToken:string ->
        fileId:string ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.RevisionList.t * GapiConversation.Session.t
      val patch :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        revisionId:string ->
        GapiDriveV2Model.Revision.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Revision.t * GapiConversation.Session.t
      val update :
        ?base_url:string ->
        ?std_params:GapiService.StandardParameters.t ->
        fileId:string ->
        revisionId:string ->
        GapiDriveV2Model.Revision.t ->
        GapiConversation.Session.t ->
        GapiDriveV2Model.Revision.t * GapiConversation.Session.t
    end
end