text: // NOTE: This file was generated by the ServiceGenerator.
  
  // ----------------------------------------------------------------------------
  // API:
  //   Drive API (drive/v3)
  // Description:
  //   Manages files in Drive including uploading, downloading, searching,
  //   detecting changes, and updating sharing permissions.
  // Documentation:
  //   https://developers.google.com/drive/
  
  #if GTLR_BUILT_AS_FRAMEWORK
    #import "GTLR/GTLRQuery.h"
  #else
    #import "GTLRQuery.h"
  #endif
  
  #if GTLR_RUNTIME_VERSION != 3000
  #error This file was generated by a different version of ServiceGenerator which is incompatible with this GTLR library source.
  #endif
  
  @class GTLRDrive_Channel;
  @class GTLRDrive_Comment;
  @class GTLRDrive_File;
  @class GTLRDrive_Permission;
  @class GTLRDrive_Reply;
  @class GTLRDrive_Revision;
  @class GTLRDrive_TeamDrive;
  
  // Generated comments include content from the discovery document; avoid them
  // causing warnings since clang's checks are some what arbitrary.
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wdocumentation"
  
  NS_ASSUME_NONNULL_BEGIN
  
  // ----------------------------------------------------------------------------
  // Constants - For some of the query classes' properties below.
  
  // ----------------------------------------------------------------------------
  // corpus
  
  /**
   *  Files shared to the user's domain.
   *
   *  Value: "domain"
   */
  GTLR_EXTERN NSString * const kGTLRDriveCorpusDomain;
  /**
   *  Files owned by or shared to the user.
   *
   *  Value: "user"
   */
  GTLR_EXTERN NSString * const kGTLRDriveCorpusUser;
  
  // ----------------------------------------------------------------------------
  // Query Classes
  //
  
  /**
   *  Parent class for other Drive query classes.
   */
  @interface GTLRDriveQuery : GTLRQuery
  
  /** Selector specifying which fields to include in a partial response. */
  @property(nonatomic, copy, nullable) NSString *fields;
  
  @end
  
  /**
   *  Gets information about the user, the user's Drive, and system capabilities.
   *
   *  Method: drive.about.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_AboutGet : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForAboutGet]
  
  /**
   *  Fetches a @c GTLRDrive_About.
   *
   *  Gets information about the user, the user's Drive, and system capabilities.
   *
   *  @returns GTLRDriveQuery_AboutGet
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Gets the starting pageToken for listing future changes.
   *
   *  Method: drive.changes.getStartPageToken
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_ChangesGetStartPageToken : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForChangesGetStartPageToken]
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  The ID of the Team Drive for which the starting pageToken for listing future
   *  changes from that Team Drive will be returned.
   */
  @property(nonatomic, copy, nullable) NSString *teamDriveId;
  
  /**
   *  Fetches a @c GTLRDrive_StartPageToken.
   *
   *  Gets the starting pageToken for listing future changes.
   *
   *  @returns GTLRDriveQuery_ChangesGetStartPageToken
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Lists the changes for a user or Team Drive.
   *
   *  Method: drive.changes.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_ChangesList : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForChangesListWithpageToken:]
  
  /**
   *  Whether changes should include the file resource if the file is still
   *  accessible by the user at the time of the request, even when a file was
   *  removed from the list of changes and there will be no further change entries
   *  for this file.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL includeCorpusRemovals;
  
  /**
   *  Whether to include changes indicating that items have been removed from the
   *  list of changes, for example by deletion or loss of access.
   *
   *  @note If not set, the documented server-side default will be true.
   */
  @property(nonatomic, assign) BOOL includeRemoved;
  
  /**
   *  Whether Team Drive files or changes should be included in results.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL includeTeamDriveItems;
  
  /**
   *  The maximum number of changes to return per page.
   *
   *  @note If not set, the documented server-side default will be 100 (from the
   *        range 1..1000).
   */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /**
   *  The token for continuing a previous list request on the next page. This
   *  should be set to the value of 'nextPageToken' from the previous response or
   *  to the response from the getStartPageToken method.
   */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Whether to restrict the results to changes inside the My Drive hierarchy.
   *  This omits changes to files such as those in the Application Data folder or
   *  shared files which have not been added to My Drive.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL restrictToMyDrive;
  
  /**
   *  A comma-separated list of spaces to query within the user corpus. Supported
   *  values are 'drive', 'appDataFolder' and 'photos'.
   *
   *  @note If not set, the documented server-side default will be drive.
   */
  @property(nonatomic, copy, nullable) NSString *spaces;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  The Team Drive from which changes will be returned. If specified the change
   *  IDs will be reflective of the Team Drive; use the combined Team Drive ID and
   *  change ID as an identifier.
   */
  @property(nonatomic, copy, nullable) NSString *teamDriveId;
  
  /**
   *  Fetches a @c GTLRDrive_ChangeList.
   *
   *  Lists the changes for a user or Team Drive.
   *
   *  @param pageToken The token for continuing a previous list request on the
   *    next page. This should be set to the value of 'nextPageToken' from the
   *    previous response or to the response from the getStartPageToken method.
   *
   *  @returns GTLRDriveQuery_ChangesList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithPageToken:(NSString *)pageToken;
  
  @end
  
  /**
   *  Subscribes to changes for a user.
   *
   *  Method: drive.changes.watch
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_ChangesWatch : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForChangesWatchWithObject:pageToken:]
  
  /**
   *  Whether changes should include the file resource if the file is still
   *  accessible by the user at the time of the request, even when a file was
   *  removed from the list of changes and there will be no further change entries
   *  for this file.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL includeCorpusRemovals;
  
  /**
   *  Whether to include changes indicating that items have been removed from the
   *  list of changes, for example by deletion or loss of access.
   *
   *  @note If not set, the documented server-side default will be true.
   */
  @property(nonatomic, assign) BOOL includeRemoved;
  
  /**
   *  Whether Team Drive files or changes should be included in results.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL includeTeamDriveItems;
  
  /**
   *  The maximum number of changes to return per page.
   *
   *  @note If not set, the documented server-side default will be 100 (from the
   *        range 1..1000).
   */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /**
   *  The token for continuing a previous list request on the next page. This
   *  should be set to the value of 'nextPageToken' from the previous response or
   *  to the response from the getStartPageToken method.
   */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Whether to restrict the results to changes inside the My Drive hierarchy.
   *  This omits changes to files such as those in the Application Data folder or
   *  shared files which have not been added to My Drive.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL restrictToMyDrive;
  
  /**
   *  A comma-separated list of spaces to query within the user corpus. Supported
   *  values are 'drive', 'appDataFolder' and 'photos'.
   *
   *  @note If not set, the documented server-side default will be drive.
   */
  @property(nonatomic, copy, nullable) NSString *spaces;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  The Team Drive from which changes will be returned. If specified the change
   *  IDs will be reflective of the Team Drive; use the combined Team Drive ID and
   *  change ID as an identifier.
   */
  @property(nonatomic, copy, nullable) NSString *teamDriveId;
  
  /**
   *  Fetches a @c GTLRDrive_Channel.
   *
   *  Subscribes to changes for a user.
   *
   *  @param object The @c GTLRDrive_Channel to include in the query.
   *  @param pageToken The token for continuing a previous list request on the
   *    next page. This should be set to the value of 'nextPageToken' from the
   *    previous response or to the response from the getStartPageToken method.
   *
   *  @returns GTLRDriveQuery_ChangesWatch
   */
  + (instancetype)queryWithObject:(GTLRDrive_Channel *)object
                        pageToken:(NSString *)pageToken;
  
  @end
  
  /**
   *  Stop watching resources through this channel
   *
   *  Method: drive.channels.stop
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_ChannelsStop : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForChannelsStopWithObject:]
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Stop watching resources through this channel
   *
   *  @param object The @c GTLRDrive_Channel to include in the query.
   *
   *  @returns GTLRDriveQuery_ChannelsStop
   */
  + (instancetype)queryWithObject:(GTLRDrive_Channel *)object;
  
  @end
  
  /**
   *  Creates a new comment on a file.
   *
   *  Method: drive.comments.create
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_CommentsCreate : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForCommentsCreateWithObject:fileId:]
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Fetches a @c GTLRDrive_Comment.
   *
   *  Creates a new comment on a file.
   *
   *  @param object The @c GTLRDrive_Comment to include in the query.
   *  @param fileId The ID of the file.
   *
   *  @returns GTLRDriveQuery_CommentsCreate
   */
  + (instancetype)queryWithObject:(GTLRDrive_Comment *)object
                           fileId:(NSString *)fileId;
  
  @end
  
  /**
   *  Deletes a comment.
   *
   *  Method: drive.comments.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_CommentsDelete : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForCommentsDeleteWithfileId:commentId:]
  
  /** The ID of the comment. */
  @property(nonatomic, copy, nullable) NSString *commentId;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Deletes a comment.
   *
   *  @param fileId The ID of the file.
   *  @param commentId The ID of the comment.
   *
   *  @returns GTLRDriveQuery_CommentsDelete
   */
  + (instancetype)queryWithFileId:(NSString *)fileId
                        commentId:(NSString *)commentId;
  
  @end
  
  /**
   *  Gets a comment by ID.
   *
   *  Method: drive.comments.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_CommentsGet : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForCommentsGetWithfileId:commentId:]
  
  /** The ID of the comment. */
  @property(nonatomic, copy, nullable) NSString *commentId;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Whether to return deleted comments. Deleted comments will not include their
   *  original content.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL includeDeleted;
  
  /**
   *  Fetches a @c GTLRDrive_Comment.
   *
   *  Gets a comment by ID.
   *
   *  @param fileId The ID of the file.
   *  @param commentId The ID of the comment.
   *
   *  @returns GTLRDriveQuery_CommentsGet
   */
  + (instancetype)queryWithFileId:(NSString *)fileId
                        commentId:(NSString *)commentId;
  
  @end
  
  /**
   *  Lists a file's comments.
   *
   *  Method: drive.comments.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_CommentsList : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForCommentsListWithfileId:]
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Whether to include deleted comments. Deleted comments will not include their
   *  original content.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL includeDeleted;
  
  /**
   *  The maximum number of comments to return per page.
   *
   *  @note If not set, the documented server-side default will be 20 (from the
   *        range 1..100).
   */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /**
   *  The token for continuing a previous list request on the next page. This
   *  should be set to the value of 'nextPageToken' from the previous response.
   */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  The minimum value of 'modifiedTime' for the result comments (RFC 3339
   *  date-time).
   */
  @property(nonatomic, copy, nullable) NSString *startModifiedTime;
  
  /**
   *  Fetches a @c GTLRDrive_CommentList.
   *
   *  Lists a file's comments.
   *
   *  @param fileId The ID of the file.
   *
   *  @returns GTLRDriveQuery_CommentsList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithFileId:(NSString *)fileId;
  
  @end
  
  /**
   *  Updates a comment with patch semantics.
   *
   *  Method: drive.comments.update
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_CommentsUpdate : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForCommentsUpdateWithObject:fileId:commentId:]
  
  /** The ID of the comment. */
  @property(nonatomic, copy, nullable) NSString *commentId;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Fetches a @c GTLRDrive_Comment.
   *
   *  Updates a comment with patch semantics.
   *
   *  @param object The @c GTLRDrive_Comment to include in the query.
   *  @param fileId The ID of the file.
   *  @param commentId The ID of the comment.
   *
   *  @returns GTLRDriveQuery_CommentsUpdate
   */
  + (instancetype)queryWithObject:(GTLRDrive_Comment *)object
                           fileId:(NSString *)fileId
                        commentId:(NSString *)commentId;
  
  @end
  
  /**
   *  Creates a copy of a file and applies any requested updates with patch
   *  semantics.
   *
   *  Method: drive.files.copy
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   */
  @interface GTLRDriveQuery_FilesCopy : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForFilesCopyWithObject:fileId:]
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Whether to ignore the domain's default visibility settings for the created
   *  file. Domain administrators can choose to make all uploaded files visible to
   *  the domain by default; this parameter bypasses that behavior for the
   *  request. Permissions are still inherited from parent folders.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL ignoreDefaultVisibility;
  
  /**
   *  Whether to set the 'keepForever' field in the new head revision. This is
   *  only applicable to files with binary content in Drive.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL keepRevisionForever;
  
  /**
   *  A language hint for OCR processing during image import (ISO 639-1 code).
   */
  @property(nonatomic, copy, nullable) NSString *ocrLanguage;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  Fetches a @c GTLRDrive_File.
   *
   *  Creates a copy of a file and applies any requested updates with patch
   *  semantics.
   *
   *  @param object The @c GTLRDrive_File to include in the query.
   *  @param fileId The ID of the file.
   *
   *  @returns GTLRDriveQuery_FilesCopy
   */
  + (instancetype)queryWithObject:(GTLRDrive_File *)object
                           fileId:(NSString *)fileId;
  
  @end
  
  /**
   *  Creates a new file.
   *
   *  Method: drive.files.create
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_FilesCreate : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForFilesCreateWithObject:]
  
  /**
   *  Whether to ignore the domain's default visibility settings for the created
   *  file. Domain administrators can choose to make all uploaded files visible to
   *  the domain by default; this parameter bypasses that behavior for the
   *  request. Permissions are still inherited from parent folders.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL ignoreDefaultVisibility;
  
  /**
   *  Whether to set the 'keepForever' field in the new head revision. This is
   *  only applicable to files with binary content in Drive.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL keepRevisionForever;
  
  /**
   *  A language hint for OCR processing during image import (ISO 639-1 code).
   */
  @property(nonatomic, copy, nullable) NSString *ocrLanguage;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  Whether to use the uploaded content as indexable text.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL useContentAsIndexableText;
  
  /**
   *  Fetches a @c GTLRDrive_File.
   *
   *  Creates a new file.
   *
   *  @param object The @c GTLRDrive_File to include in the query.
   *  @param uploadParameters The media to include in this query. Maximum size
   *    5120GB. Accepted MIME type: * / *
   *
   *  @returns GTLRDriveQuery_FilesCreate
   */
  + (instancetype)queryWithObject:(GTLRDrive_File *)object
                 uploadParameters:(nullable GTLRUploadParameters *)uploadParameters;
  
  @end
  
  /**
   *  Permanently deletes a file owned by the user without moving it to the trash.
   *  If the file belongs to a Team Drive the user must be an organizer on the
   *  parent. If the target is a folder, all descendants owned by the user are
   *  also deleted.
   *
   *  Method: drive.files.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_FilesDelete : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForFilesDeleteWithfileId:]
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Permanently deletes a file owned by the user without moving it to the trash.
   *  If the file belongs to a Team Drive the user must be an organizer on the
   *  parent. If the target is a folder, all descendants owned by the user are
   *  also deleted.
   *
   *  @param fileId The ID of the file.
   *
   *  @returns GTLRDriveQuery_FilesDelete
   */
  + (instancetype)queryWithFileId:(NSString *)fileId;
  
  @end
  
  /**
   *  Permanently deletes all of the user's trashed files.
   *
   *  Method: drive.files.emptyTrash
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   */
  @interface GTLRDriveQuery_FilesEmptyTrash : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForFilesEmptyTrash]
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Permanently deletes all of the user's trashed files.
   *
   *  @returns GTLRDriveQuery_FilesEmptyTrash
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Exports a Google Doc to the requested MIME type and returns the exported
   *  content. Please note that the exported content is limited to 10MB.
   *
   *  Method: drive.files.export
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_FilesExport : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForFilesExportWithfileId:mimeType:]
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /** The MIME type of the format requested for this export. */
  @property(nonatomic, copy, nullable) NSString *mimeType;
  
  /**
   *  Fetches the requested resource data as a @c GTLRDataObject.
   *
   *  Exports a Google Doc to the requested MIME type and returns the exported
   *  content. Please note that the exported content is limited to 10MB.
   *
   *  @param fileId The ID of the file.
   *  @param mimeType The MIME type of the format requested for this export.
   *
   *  @returns GTLRDriveQuery_FilesExport
   */
  + (instancetype)queryForMediaWithFileId:(NSString *)fileId
                                 mimeType:(NSString *)mimeType;
  
  @end
  
  /**
   *  Generates a set of file IDs which can be provided in create requests.
   *
   *  Method: drive.files.generateIds
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_FilesGenerateIds : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForFilesGenerateIds]
  
  /**
   *  The number of IDs to return.
   *
   *  @note If not set, the documented server-side default will be 10 (from the
   *        range 1..1000).
   */
  @property(nonatomic, assign) NSInteger count;
  
  /**
   *  The space in which the IDs can be used to create new files. Supported values
   *  are 'drive' and 'appDataFolder'.
   *
   *  @note If not set, the documented server-side default will be drive.
   */
  @property(nonatomic, copy, nullable) NSString *space;
  
  /**
   *  Fetches a @c GTLRDrive_GeneratedIds.
   *
   *  Generates a set of file IDs which can be provided in create requests.
   *
   *  @returns GTLRDriveQuery_FilesGenerateIds
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Gets a file's metadata or content by ID.
   *
   *  Method: drive.files.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_FilesGet : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForFilesGetWithfileId:]
  
  /**
   *  Whether the user is acknowledging the risk of downloading known malware or
   *  other abusive files. This is only applicable when alt=media.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL acknowledgeAbuse;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  Fetches a @c GTLRDrive_File.
   *
   *  Gets a file's metadata or content by ID.
   *
   *  @param fileId The ID of the file.
   *
   *  @returns GTLRDriveQuery_FilesGet
   */
  + (instancetype)queryWithFileId:(NSString *)fileId;
  
  /**
   *  Fetches the requested resource data as a @c GTLRDataObject.
   *
   *  Gets a file's metadata or content by ID.
   *
   *  @param fileId The ID of the file.
   *
   *  @returns GTLRDriveQuery_FilesGet
   */
  + (instancetype)queryForMediaWithFileId:(NSString *)fileId;
  
  @end
  
  /**
   *  Lists or searches files.
   *
   *  Method: drive.files.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_FilesList : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForFilesList]
  
  /**
   *  Comma-separated list of bodies of items (files/documents) to which the query
   *  applies. Supported bodies are 'user', 'domain', 'teamDrive' and
   *  'allTeamDrives'. 'allTeamDrives' must be combined with 'user'; all other
   *  values must be used in isolation. Prefer 'user' or 'teamDrive' to
   *  'allTeamDrives' for efficiency.
   */
  @property(nonatomic, copy, nullable) NSString *corpora;
  
  /**
   *  The source of files to list. Deprecated: use 'corpora' instead.
   *
   *  Likely values:
   *    @arg @c kGTLRDriveCorpusDomain Files shared to the user's domain. (Value:
   *        "domain")
   *    @arg @c kGTLRDriveCorpusUser Files owned by or shared to the user. (Value:
   *        "user")
   */
  @property(nonatomic, copy, nullable) NSString *corpus;
  
  /**
   *  Whether Team Drive items should be included in results.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL includeTeamDriveItems;
  
  /**
   *  A comma-separated list of sort keys. Valid keys are 'createdTime', 'folder',
   *  'modifiedByMeTime', 'modifiedTime', 'name', 'name_natural',
   *  'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', and
   *  'viewedByMeTime'. Each key sorts ascending by default, but may be reversed
   *  with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedTime
   *  desc,name. Please note that there is a current limitation for users with
   *  approximately one million files in which the requested sort order is
   *  ignored.
   */
  @property(nonatomic, copy, nullable) NSString *orderBy;
  
  /**
   *  The maximum number of files to return per page. Partial or empty result
   *  pages are possible even before the end of the files list has been reached.
   *
   *  @note If not set, the documented server-side default will be 100 (from the
   *        range 1..1000).
   */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /**
   *  The token for continuing a previous list request on the next page. This
   *  should be set to the value of 'nextPageToken' from the previous response.
   */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  A query for filtering the file results. See the "Search for Files" guide for
   *  supported syntax.
   */
  @property(nonatomic, copy, nullable) NSString *q;
  
  /**
   *  A comma-separated list of spaces to query within the corpus. Supported
   *  values are 'drive', 'appDataFolder' and 'photos'.
   *
   *  @note If not set, the documented server-side default will be drive.
   */
  @property(nonatomic, copy, nullable) NSString *spaces;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /** ID of Team Drive to search. */
  @property(nonatomic, copy, nullable) NSString *teamDriveId;
  
  /**
   *  Fetches a @c GTLRDrive_FileList.
   *
   *  Lists or searches files.
   *
   *  @returns GTLRDriveQuery_FilesList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Updates a file's metadata and/or content with patch semantics.
   *
   *  Method: drive.files.update
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveScripts
   */
  @interface GTLRDriveQuery_FilesUpdate : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForFilesUpdateWithObject:fileId:]
  
  /** A comma-separated list of parent IDs to add. */
  @property(nonatomic, copy, nullable) NSString *addParents;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Whether to set the 'keepForever' field in the new head revision. This is
   *  only applicable to files with binary content in Drive.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL keepRevisionForever;
  
  /**
   *  A language hint for OCR processing during image import (ISO 639-1 code).
   */
  @property(nonatomic, copy, nullable) NSString *ocrLanguage;
  
  /** A comma-separated list of parent IDs to remove. */
  @property(nonatomic, copy, nullable) NSString *removeParents;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  Whether to use the uploaded content as indexable text.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL useContentAsIndexableText;
  
  /**
   *  Fetches a @c GTLRDrive_File.
   *
   *  Updates a file's metadata and/or content with patch semantics.
   *
   *  @param object The @c GTLRDrive_File to include in the query.
   *  @param fileId The ID of the file.
   *  @param uploadParameters The media to include in this query. Maximum size
   *    5120GB. Accepted MIME type: * / *
   *
   *  @returns GTLRDriveQuery_FilesUpdate
   */
  + (instancetype)queryWithObject:(GTLRDrive_File *)object
                           fileId:(NSString *)fileId
                 uploadParameters:(nullable GTLRUploadParameters *)uploadParameters;
  
  @end
  
  /**
   *  Subscribes to changes to a file
   *
   *  Method: drive.files.watch
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_FilesWatch : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForFilesWatchWithObject:fileId:]
  
  /**
   *  Whether the user is acknowledging the risk of downloading known malware or
   *  other abusive files. This is only applicable when alt=media.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL acknowledgeAbuse;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  Fetches a @c GTLRDrive_Channel.
   *
   *  Subscribes to changes to a file
   *
   *  @param object The @c GTLRDrive_Channel to include in the query.
   *  @param fileId The ID of the file.
   *
   *  @returns GTLRDriveQuery_FilesWatch
   */
  + (instancetype)queryWithObject:(GTLRDrive_Channel *)object
                           fileId:(NSString *)fileId;
  
  /**
   *  Fetches the requested resource data as a @c GTLRDataObject.
   *
   *  Subscribes to changes to a file
   *
   *  @param object The @c GTLRDrive_Channel to include in the query.
   *  @param fileId The ID of the file.
   *
   *  @returns GTLRDriveQuery_FilesWatch
   */
  + (instancetype)queryForMediaWithObject:(GTLRDrive_Channel *)object
                                   fileId:(NSString *)fileId;
  
  @end
  
  /**
   *  Creates a permission for a file or Team Drive.
   *
   *  Method: drive.permissions.create
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_PermissionsCreate : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForPermissionsCreateWithObject:fileId:]
  
  /** A plain text custom message to include in the notification email. */
  @property(nonatomic, copy, nullable) NSString *emailMessage;
  
  /** The ID of the file or Team Drive. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Whether to send a notification email when sharing to users or groups. This
   *  defaults to true for users and groups, and is not allowed for other
   *  requests. It must not be disabled for ownership transfers.
   */
  @property(nonatomic, assign) BOOL sendNotificationEmail;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  Whether to transfer ownership to the specified user and downgrade the
   *  current owner to a writer. This parameter is required as an acknowledgement
   *  of the side effect.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL transferOwnership;
  
  /**
   *  Whether the request should be treated as if it was issued by a domain
   *  administrator; if set to true, then the requester will be granted access if
   *  they are an administrator of the domain to which the item belongs.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL useDomainAdminAccess;
  
  /**
   *  Fetches a @c GTLRDrive_Permission.
   *
   *  Creates a permission for a file or Team Drive.
   *
   *  @param object The @c GTLRDrive_Permission to include in the query.
   *  @param fileId The ID of the file or Team Drive.
   *
   *  @returns GTLRDriveQuery_PermissionsCreate
   */
  + (instancetype)queryWithObject:(GTLRDrive_Permission *)object
                           fileId:(NSString *)fileId;
  
  @end
  
  /**
   *  Deletes a permission.
   *
   *  Method: drive.permissions.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_PermissionsDelete : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForPermissionsDeleteWithfileId:permissionId:]
  
  /** The ID of the file or Team Drive. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /** The ID of the permission. */
  @property(nonatomic, copy, nullable) NSString *permissionId;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  Whether the request should be treated as if it was issued by a domain
   *  administrator; if set to true, then the requester will be granted access if
   *  they are an administrator of the domain to which the item belongs.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL useDomainAdminAccess;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Deletes a permission.
   *
   *  @param fileId The ID of the file or Team Drive.
   *  @param permissionId The ID of the permission.
   *
   *  @returns GTLRDriveQuery_PermissionsDelete
   */
  + (instancetype)queryWithFileId:(NSString *)fileId
                     permissionId:(NSString *)permissionId;
  
  @end
  
  /**
   *  Gets a permission by ID.
   *
   *  Method: drive.permissions.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_PermissionsGet : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForPermissionsGetWithfileId:permissionId:]
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /** The ID of the permission. */
  @property(nonatomic, copy, nullable) NSString *permissionId;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  Whether the request should be treated as if it was issued by a domain
   *  administrator; if set to true, then the requester will be granted access if
   *  they are an administrator of the domain to which the item belongs.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL useDomainAdminAccess;
  
  /**
   *  Fetches a @c GTLRDrive_Permission.
   *
   *  Gets a permission by ID.
   *
   *  @param fileId The ID of the file.
   *  @param permissionId The ID of the permission.
   *
   *  @returns GTLRDriveQuery_PermissionsGet
   */
  + (instancetype)queryWithFileId:(NSString *)fileId
                     permissionId:(NSString *)permissionId;
  
  @end
  
  /**
   *  Lists a file's or Team Drive's permissions.
   *
   *  Method: drive.permissions.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_PermissionsList : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForPermissionsListWithfileId:]
  
  /** The ID of the file or Team Drive. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  The maximum number of permissions to return per page. When not set for files
   *  in a Team Drive, at most 100 results will be returned. When not set for
   *  files that are not in a Team Drive, the entire list will be returned.
   *
   *  @note The documented range is 1..100.
   */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /**
   *  The token for continuing a previous list request on the next page. This
   *  should be set to the value of 'nextPageToken' from the previous response.
   */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  Whether the request should be treated as if it was issued by a domain
   *  administrator; if set to true, then the requester will be granted access if
   *  they are an administrator of the domain to which the item belongs.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL useDomainAdminAccess;
  
  /**
   *  Fetches a @c GTLRDrive_PermissionList.
   *
   *  Lists a file's or Team Drive's permissions.
   *
   *  @param fileId The ID of the file or Team Drive.
   *
   *  @returns GTLRDriveQuery_PermissionsList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithFileId:(NSString *)fileId;
  
  @end
  
  /**
   *  Updates a permission with patch semantics.
   *
   *  Method: drive.permissions.update
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_PermissionsUpdate : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForPermissionsUpdateWithObject:fileId:permissionId:]
  
  /** The ID of the file or Team Drive. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /** The ID of the permission. */
  @property(nonatomic, copy, nullable) NSString *permissionId;
  
  /**
   *  Whether to remove the expiration date.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL removeExpiration;
  
  /**
   *  Whether the requesting application supports Team Drives.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL supportsTeamDrives;
  
  /**
   *  Whether to transfer ownership to the specified user and downgrade the
   *  current owner to a writer. This parameter is required as an acknowledgement
   *  of the side effect.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL transferOwnership;
  
  /**
   *  Whether the request should be treated as if it was issued by a domain
   *  administrator; if set to true, then the requester will be granted access if
   *  they are an administrator of the domain to which the item belongs.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL useDomainAdminAccess;
  
  /**
   *  Fetches a @c GTLRDrive_Permission.
   *
   *  Updates a permission with patch semantics.
   *
   *  @param object The @c GTLRDrive_Permission to include in the query.
   *  @param fileId The ID of the file or Team Drive.
   *  @param permissionId The ID of the permission.
   *
   *  @returns GTLRDriveQuery_PermissionsUpdate
   */
  + (instancetype)queryWithObject:(GTLRDrive_Permission *)object
                           fileId:(NSString *)fileId
                     permissionId:(NSString *)permissionId;
  
  @end
  
  /**
   *  Creates a new reply to a comment.
   *
   *  Method: drive.replies.create
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_RepliesCreate : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForRepliesCreateWithObject:fileId:commentId:]
  
  /** The ID of the comment. */
  @property(nonatomic, copy, nullable) NSString *commentId;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Fetches a @c GTLRDrive_Reply.
   *
   *  Creates a new reply to a comment.
   *
   *  @param object The @c GTLRDrive_Reply to include in the query.
   *  @param fileId The ID of the file.
   *  @param commentId The ID of the comment.
   *
   *  @returns GTLRDriveQuery_RepliesCreate
   */
  + (instancetype)queryWithObject:(GTLRDrive_Reply *)object
                           fileId:(NSString *)fileId
                        commentId:(NSString *)commentId;
  
  @end
  
  /**
   *  Deletes a reply.
   *
   *  Method: drive.replies.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_RepliesDelete : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForRepliesDeleteWithfileId:commentId:replyId:]
  
  /** The ID of the comment. */
  @property(nonatomic, copy, nullable) NSString *commentId;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /** The ID of the reply. */
  @property(nonatomic, copy, nullable) NSString *replyId;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Deletes a reply.
   *
   *  @param fileId The ID of the file.
   *  @param commentId The ID of the comment.
   *  @param replyId The ID of the reply.
   *
   *  @returns GTLRDriveQuery_RepliesDelete
   */
  + (instancetype)queryWithFileId:(NSString *)fileId
                        commentId:(NSString *)commentId
                          replyId:(NSString *)replyId;
  
  @end
  
  /**
   *  Gets a reply by ID.
   *
   *  Method: drive.replies.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_RepliesGet : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForRepliesGetWithfileId:commentId:replyId:]
  
  /** The ID of the comment. */
  @property(nonatomic, copy, nullable) NSString *commentId;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Whether to return deleted replies. Deleted replies will not include their
   *  original content.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL includeDeleted;
  
  /** The ID of the reply. */
  @property(nonatomic, copy, nullable) NSString *replyId;
  
  /**
   *  Fetches a @c GTLRDrive_Reply.
   *
   *  Gets a reply by ID.
   *
   *  @param fileId The ID of the file.
   *  @param commentId The ID of the comment.
   *  @param replyId The ID of the reply.
   *
   *  @returns GTLRDriveQuery_RepliesGet
   */
  + (instancetype)queryWithFileId:(NSString *)fileId
                        commentId:(NSString *)commentId
                          replyId:(NSString *)replyId;
  
  @end
  
  /**
   *  Lists a comment's replies.
   *
   *  Method: drive.replies.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_RepliesList : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForRepliesListWithfileId:commentId:]
  
  /** The ID of the comment. */
  @property(nonatomic, copy, nullable) NSString *commentId;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  Whether to include deleted replies. Deleted replies will not include their
   *  original content.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL includeDeleted;
  
  /**
   *  The maximum number of replies to return per page.
   *
   *  @note If not set, the documented server-side default will be 20 (from the
   *        range 1..100).
   */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /**
   *  The token for continuing a previous list request on the next page. This
   *  should be set to the value of 'nextPageToken' from the previous response.
   */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Fetches a @c GTLRDrive_ReplyList.
   *
   *  Lists a comment's replies.
   *
   *  @param fileId The ID of the file.
   *  @param commentId The ID of the comment.
   *
   *  @returns GTLRDriveQuery_RepliesList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithFileId:(NSString *)fileId
                        commentId:(NSString *)commentId;
  
  @end
  
  /**
   *  Updates a reply with patch semantics.
   *
   *  Method: drive.replies.update
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_RepliesUpdate : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForRepliesUpdateWithObject:fileId:commentId:replyId:]
  
  /** The ID of the comment. */
  @property(nonatomic, copy, nullable) NSString *commentId;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /** The ID of the reply. */
  @property(nonatomic, copy, nullable) NSString *replyId;
  
  /**
   *  Fetches a @c GTLRDrive_Reply.
   *
   *  Updates a reply with patch semantics.
   *
   *  @param object The @c GTLRDrive_Reply to include in the query.
   *  @param fileId The ID of the file.
   *  @param commentId The ID of the comment.
   *  @param replyId The ID of the reply.
   *
   *  @returns GTLRDriveQuery_RepliesUpdate
   */
  + (instancetype)queryWithObject:(GTLRDrive_Reply *)object
                           fileId:(NSString *)fileId
                        commentId:(NSString *)commentId
                          replyId:(NSString *)replyId;
  
  @end
  
  /**
   *  Permanently deletes a revision. This method is only applicable to files with
   *  binary content in Drive.
   *
   *  Method: drive.revisions.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_RevisionsDelete : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForRevisionsDeleteWithfileId:revisionId:]
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /** The ID of the revision. */
  @property(nonatomic, copy, nullable) NSString *revisionId;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Permanently deletes a revision. This method is only applicable to files with
   *  binary content in Drive.
   *
   *  @param fileId The ID of the file.
   *  @param revisionId The ID of the revision.
   *
   *  @returns GTLRDriveQuery_RevisionsDelete
   */
  + (instancetype)queryWithFileId:(NSString *)fileId
                       revisionId:(NSString *)revisionId;
  
  @end
  
  /**
   *  Gets a revision's metadata or content by ID.
   *
   *  Method: drive.revisions.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_RevisionsGet : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForRevisionsGetWithfileId:revisionId:]
  
  /**
   *  Whether the user is acknowledging the risk of downloading known malware or
   *  other abusive files. This is only applicable when alt=media.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL acknowledgeAbuse;
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /** The ID of the revision. */
  @property(nonatomic, copy, nullable) NSString *revisionId;
  
  /**
   *  Fetches a @c GTLRDrive_Revision.
   *
   *  Gets a revision's metadata or content by ID.
   *
   *  @param fileId The ID of the file.
   *  @param revisionId The ID of the revision.
   *
   *  @returns GTLRDriveQuery_RevisionsGet
   */
  + (instancetype)queryWithFileId:(NSString *)fileId
                       revisionId:(NSString *)revisionId;
  
  /**
   *  Fetches the requested resource data as a @c GTLRDataObject.
   *
   *  Gets a revision's metadata or content by ID.
   *
   *  @param fileId The ID of the file.
   *  @param revisionId The ID of the revision.
   *
   *  @returns GTLRDriveQuery_RevisionsGet
   */
  + (instancetype)queryForMediaWithFileId:(NSString *)fileId
                               revisionId:(NSString *)revisionId;
  
  @end
  
  /**
   *  Lists a file's revisions.
   *
   *  Method: drive.revisions.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   *    @c kGTLRAuthScopeDriveMetadata
   *    @c kGTLRAuthScopeDriveMetadataReadonly
   *    @c kGTLRAuthScopeDrivePhotosReadonly
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_RevisionsList : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForRevisionsListWithfileId:]
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /**
   *  The maximum number of revisions to return per page.
   *
   *  @note If not set, the documented server-side default will be 200 (from the
   *        range 1..1000).
   */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /**
   *  The token for continuing a previous list request on the next page. This
   *  should be set to the value of 'nextPageToken' from the previous response.
   */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Fetches a @c GTLRDrive_RevisionList.
   *
   *  Lists a file's revisions.
   *
   *  @param fileId The ID of the file.
   *
   *  @returns GTLRDriveQuery_RevisionsList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithFileId:(NSString *)fileId;
  
  @end
  
  /**
   *  Updates a revision with patch semantics.
   *
   *  Method: drive.revisions.update
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveAppdata
   *    @c kGTLRAuthScopeDriveFile
   */
  @interface GTLRDriveQuery_RevisionsUpdate : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForRevisionsUpdateWithObject:fileId:revisionId:]
  
  /** The ID of the file. */
  @property(nonatomic, copy, nullable) NSString *fileId;
  
  /** The ID of the revision. */
  @property(nonatomic, copy, nullable) NSString *revisionId;
  
  /**
   *  Fetches a @c GTLRDrive_Revision.
   *
   *  Updates a revision with patch semantics.
   *
   *  @param object The @c GTLRDrive_Revision to include in the query.
   *  @param fileId The ID of the file.
   *  @param revisionId The ID of the revision.
   *
   *  @returns GTLRDriveQuery_RevisionsUpdate
   */
  + (instancetype)queryWithObject:(GTLRDrive_Revision *)object
                           fileId:(NSString *)fileId
                       revisionId:(NSString *)revisionId;
  
  @end
  
  /**
   *  Creates a new Team Drive.
   *
   *  Method: drive.teamdrives.create
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   */
  @interface GTLRDriveQuery_TeamdrivesCreate : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForTeamdrivesCreateWithObject:requestId:]
  
  /**
   *  An ID, such as a random UUID, which uniquely identifies this user's request
   *  for idempotent creation of a Team Drive. A repeated request by the same user
   *  and with the same request ID will avoid creating duplicates by attempting to
   *  create the same Team Drive. If the Team Drive already exists a 409 error
   *  will be returned.
   */
  @property(nonatomic, copy, nullable) NSString *requestId;
  
  /**
   *  Fetches a @c GTLRDrive_TeamDrive.
   *
   *  Creates a new Team Drive.
   *
   *  @param object The @c GTLRDrive_TeamDrive to include in the query.
   *  @param requestId An ID, such as a random UUID, which uniquely identifies
   *    this user's request for idempotent creation of a Team Drive. A repeated
   *    request by the same user and with the same request ID will avoid creating
   *    duplicates by attempting to create the same Team Drive. If the Team Drive
   *    already exists a 409 error will be returned.
   *
   *  @returns GTLRDriveQuery_TeamdrivesCreate
   */
  + (instancetype)queryWithObject:(GTLRDrive_TeamDrive *)object
                        requestId:(NSString *)requestId;
  
  @end
  
  /**
   *  Permanently deletes a Team Drive for which the user is an organizer. The
   *  Team Drive cannot contain any untrashed items.
   *
   *  Method: drive.teamdrives.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   */
  @interface GTLRDriveQuery_TeamdrivesDelete : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForTeamdrivesDeleteWithteamDriveId:]
  
  /** The ID of the Team Drive */
  @property(nonatomic, copy, nullable) NSString *teamDriveId;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Permanently deletes a Team Drive for which the user is an organizer. The
   *  Team Drive cannot contain any untrashed items.
   *
   *  @param teamDriveId The ID of the Team Drive
   *
   *  @returns GTLRDriveQuery_TeamdrivesDelete
   */
  + (instancetype)queryWithTeamDriveId:(NSString *)teamDriveId;
  
  @end
  
  /**
   *  Gets a Team Drive's metadata by ID.
   *
   *  Method: drive.teamdrives.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_TeamdrivesGet : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForTeamdrivesGetWithteamDriveId:]
  
  /** The ID of the Team Drive */
  @property(nonatomic, copy, nullable) NSString *teamDriveId;
  
  /**
   *  Whether the request should be treated as if it was issued by a domain
   *  administrator; if set to true, then the requester will be granted access if
   *  they are an administrator of the domain to which the Team Drive belongs.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL useDomainAdminAccess;
  
  /**
   *  Fetches a @c GTLRDrive_TeamDrive.
   *
   *  Gets a Team Drive's metadata by ID.
   *
   *  @param teamDriveId The ID of the Team Drive
   *
   *  @returns GTLRDriveQuery_TeamdrivesGet
   */
  + (instancetype)queryWithTeamDriveId:(NSString *)teamDriveId;
  
  @end
  
  /**
   *  Lists the user's Team Drives.
   *
   *  Method: drive.teamdrives.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   *    @c kGTLRAuthScopeDriveReadonly
   */
  @interface GTLRDriveQuery_TeamdrivesList : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForTeamdrivesList]
  
  /**
   *  Maximum number of Team Drives to return.
   *
   *  @note If not set, the documented server-side default will be 10 (from the
   *        range 1..100).
   */
  @property(nonatomic, assign) NSInteger pageSize;
  
  /** Page token for Team Drives. */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /** Query string for searching Team Drives. */
  @property(nonatomic, copy, nullable) NSString *q;
  
  /**
   *  Whether the request should be treated as if it was issued by a domain
   *  administrator; if set to true, then all Team Drives of the domain in which
   *  the requester is an administrator are returned.
   *
   *  @note If not set, the documented server-side default will be false.
   */
  @property(nonatomic, assign) BOOL useDomainAdminAccess;
  
  /**
   *  Fetches a @c GTLRDrive_TeamDriveList.
   *
   *  Lists the user's Team Drives.
   *
   *  @returns GTLRDriveQuery_TeamdrivesList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Updates a Team Drive's metadata
   *
   *  Method: drive.teamdrives.update
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeDrive
   */
  @interface GTLRDriveQuery_TeamdrivesUpdate : GTLRDriveQuery
  // Previous library name was
  //   +[GTLQueryDrive queryForTeamdrivesUpdateWithObject:teamDriveId:]
  
  /** The ID of the Team Drive */
  @property(nonatomic, copy, nullable) NSString *teamDriveId;
  
  /**
   *  Fetches a @c GTLRDrive_TeamDrive.
   *
   *  Updates a Team Drive's metadata
   *
   *  @param object The @c GTLRDrive_TeamDrive to include in the query.
   *  @param teamDriveId The ID of the Team Drive
   *
   *  @returns GTLRDriveQuery_TeamdrivesUpdate
   */
  + (instancetype)queryWithObject:(GTLRDrive_TeamDrive *)object
                      teamDriveId:(NSString *)teamDriveId;
  
  @end
  
  NS_ASSUME_NONNULL_END
  
  #pragma clang diagnostic pop
  