text: // NOTE: This file was generated by the ServiceGenerator.
  
  // ----------------------------------------------------------------------------
  // API:
  //   Books API (books/v1)
  // Description:
  //   Searches for books and manages your Google Books library.
  // Documentation:
  //   https://developers.google.com/books/docs/v1/getting_started
  
  #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 GTLRBooks_Annotation;
  @class GTLRBooks_CloudloadingResource;
  @class GTLRBooks_Usersettings;
  
  NS_ASSUME_NONNULL_BEGIN
  
  // ----------------------------------------------------------------------------
  // Constants - For some of the query classes' properties below.
  
  // ----------------------------------------------------------------------------
  // acquireMethod
  
  /**
   *  Books acquired via Family Sharing
   *
   *  Value: "FAMILY_SHARED"
   */
  GTLR_EXTERN NSString * const kGTLRBooksAcquireMethodFamilyShared;
  /**
   *  Preordered books (not yet available)
   *
   *  Value: "PREORDERED"
   */
  GTLR_EXTERN NSString * const kGTLRBooksAcquireMethodPreordered;
  /**
   *  User-rented books past their expiration time
   *
   *  Value: "PREVIOUSLY_RENTED"
   */
  GTLR_EXTERN NSString * const kGTLRBooksAcquireMethodPreviouslyRented;
  /**
   *  Public domain books
   *
   *  Value: "PUBLIC_DOMAIN"
   */
  GTLR_EXTERN NSString * const kGTLRBooksAcquireMethodPublicDomain;
  /**
   *  Purchased books
   *
   *  Value: "PURCHASED"
   */
  GTLR_EXTERN NSString * const kGTLRBooksAcquireMethodPurchased;
  /**
   *  User-rented books
   *
   *  Value: "RENTED"
   */
  GTLR_EXTERN NSString * const kGTLRBooksAcquireMethodRented;
  /**
   *  Sample books
   *
   *  Value: "SAMPLE"
   */
  GTLR_EXTERN NSString * const kGTLRBooksAcquireMethodSample;
  /**
   *  User uploaded books
   *
   *  Value: "UPLOADED"
   */
  GTLR_EXTERN NSString * const kGTLRBooksAcquireMethodUploaded;
  
  // ----------------------------------------------------------------------------
  // action
  
  /**
   *  User chose bookmark within volume.
   *
   *  Value: "bookmark"
   */
  GTLR_EXTERN NSString * const kGTLRBooksActionBookmark;
  /**
   *  User selected chapter from list.
   *
   *  Value: "chapter"
   */
  GTLR_EXTERN NSString * const kGTLRBooksActionChapter;
  /**
   *  Next page event.
   *
   *  Value: "next-page"
   */
  GTLR_EXTERN NSString * const kGTLRBooksActionNextPage;
  /**
   *  Previous page event.
   *
   *  Value: "prev-page"
   */
  GTLR_EXTERN NSString * const kGTLRBooksActionPrevPage;
  /**
   *  User navigated to page.
   *
   *  Value: "scroll"
   */
  GTLR_EXTERN NSString * const kGTLRBooksActionScroll;
  /**
   *  User chose search results within volume.
   *
   *  Value: "search"
   */
  GTLR_EXTERN NSString * const kGTLRBooksActionSearch;
  
  // ----------------------------------------------------------------------------
  // association
  
  /**
   *  Recommendations for display end-of-sample.
   *
   *  Value: "end-of-sample"
   */
  GTLR_EXTERN NSString * const kGTLRBooksAssociationEndOfSample;
  /**
   *  Recommendations for display end-of-volume.
   *
   *  Value: "end-of-volume"
   */
  GTLR_EXTERN NSString * const kGTLRBooksAssociationEndOfVolume;
  /**
   *  Related volumes for Play Store.
   *
   *  Value: "related-for-play"
   */
  GTLR_EXTERN NSString * const kGTLRBooksAssociationRelatedForPlay;
  
  // ----------------------------------------------------------------------------
  // download
  
  /**
   *  All volumes with epub.
   *
   *  Value: "epub"
   */
  GTLR_EXTERN NSString * const kGTLRBooksDownloadEpub;
  
  // ----------------------------------------------------------------------------
  // features
  
  /**
   *  Client supports rentals.
   *
   *  Value: "RENTALS"
   */
  GTLR_EXTERN NSString * const kGTLRBooksFeaturesRentals;
  
  // ----------------------------------------------------------------------------
  // filter
  
  /**
   *  All Google eBooks.
   *
   *  Value: "ebooks"
   */
  GTLR_EXTERN NSString * const kGTLRBooksFilterEbooks;
  /**
   *  Google eBook with full volume text viewability.
   *
   *  Value: "free-ebooks"
   */
  GTLR_EXTERN NSString * const kGTLRBooksFilterFreeEbooks;
  /**
   *  Public can view entire volume text.
   *
   *  Value: "full"
   */
  GTLR_EXTERN NSString * const kGTLRBooksFilterFull;
  /**
   *  Google eBook with a price.
   *
   *  Value: "paid-ebooks"
   */
  GTLR_EXTERN NSString * const kGTLRBooksFilterPaidEbooks;
  /**
   *  Public able to see parts of text.
   *
   *  Value: "partial"
   */
  GTLR_EXTERN NSString * const kGTLRBooksFilterPartial;
  
  // ----------------------------------------------------------------------------
  // libraryRestrict
  
  /**
   *  Restrict to the user's library, any shelf.
   *
   *  Value: "my-library"
   */
  GTLR_EXTERN NSString * const kGTLRBooksLibraryRestrictMyLibrary;
  /**
   *  Do not restrict based on user's library.
   *
   *  Value: "no-restrict"
   */
  GTLR_EXTERN NSString * const kGTLRBooksLibraryRestrictNoRestrict;
  
  // ----------------------------------------------------------------------------
  // licenseTypes
  
  /**
   *  Both concurrent and download licenses.
   *
   *  Value: "BOTH"
   */
  GTLR_EXTERN NSString * const kGTLRBooksLicenseTypesBoth;
  /**
   *  Concurrent access license.
   *
   *  Value: "CONCURRENT"
   */
  GTLR_EXTERN NSString * const kGTLRBooksLicenseTypesConcurrent;
  /**
   *  Offline download access license.
   *
   *  Value: "DOWNLOAD"
   */
  GTLR_EXTERN NSString * const kGTLRBooksLicenseTypesDownload;
  
  // ----------------------------------------------------------------------------
  // maxAllowedMaturityRating
  
  /**
   *  Show books which are rated mature or lower.
   *
   *  Value: "mature"
   */
  GTLR_EXTERN NSString * const kGTLRBooksMaxAllowedMaturityRatingMature;
  /**
   *  Show books which are rated not mature.
   *
   *  Value: "not-mature"
   */
  GTLR_EXTERN NSString * const kGTLRBooksMaxAllowedMaturityRatingNotMature;
  
  // ----------------------------------------------------------------------------
  // orderBy
  
  /**
   *  Most recently published.
   *
   *  Value: "newest"
   */
  GTLR_EXTERN NSString * const kGTLRBooksOrderByNewest;
  /**
   *  Relevance to search terms.
   *
   *  Value: "relevance"
   */
  GTLR_EXTERN NSString * const kGTLRBooksOrderByRelevance;
  
  // ----------------------------------------------------------------------------
  // printType
  
  /**
   *  All volume content types.
   *
   *  Value: "all"
   */
  GTLR_EXTERN NSString * const kGTLRBooksPrintTypeAll;
  /**
   *  Just books.
   *
   *  Value: "books"
   */
  GTLR_EXTERN NSString * const kGTLRBooksPrintTypeBooks;
  /**
   *  Just magazines.
   *
   *  Value: "magazines"
   */
  GTLR_EXTERN NSString * const kGTLRBooksPrintTypeMagazines;
  
  // ----------------------------------------------------------------------------
  // processingState
  
  /**
   *  The volume processing hase failed.
   *
   *  Value: "COMPLETED_FAILED"
   */
  GTLR_EXTERN NSString * const kGTLRBooksProcessingStateCompletedFailed;
  /**
   *  The volume processing was completed.
   *
   *  Value: "COMPLETED_SUCCESS"
   */
  GTLR_EXTERN NSString * const kGTLRBooksProcessingStateCompletedSuccess;
  /**
   *  The volume processing is not completed.
   *
   *  Value: "RUNNING"
   */
  GTLR_EXTERN NSString * const kGTLRBooksProcessingStateRunning;
  
  // ----------------------------------------------------------------------------
  // projection
  
  /**
   *  Includes all volume data.
   *
   *  Value: "full"
   */
  GTLR_EXTERN NSString * const kGTLRBooksProjectionFull;
  /**
   *  Includes a subset of fields in volumeInfo and accessInfo.
   *
   *  Value: "lite"
   */
  GTLR_EXTERN NSString * const kGTLRBooksProjectionLite;
  
  // ----------------------------------------------------------------------------
  // rating
  
  /**
   *  Rating indicating a dismissal due to ownership.
   *
   *  Value: "HAVE_IT"
   */
  GTLR_EXTERN NSString * const kGTLRBooksRatingHaveIt;
  /**
   *  Rating indicating a negative dismissal of a volume.
   *
   *  Value: "NOT_INTERESTED"
   */
  GTLR_EXTERN NSString * const kGTLRBooksRatingNotInterested;
  
  // ----------------------------------------------------------------------------
  // reason
  
  /**
   *  Volumes added from the PREX flow on iOS.
   *
   *  Value: "IOS_PREX"
   */
  GTLR_EXTERN NSString * const kGTLRBooksReasonIosPrex;
  /**
   *  Volumes added from the Search flow on iOS.
   *
   *  Value: "IOS_SEARCH"
   */
  GTLR_EXTERN NSString * const kGTLRBooksReasonIosSearch;
  /** Value: "ONBOARDING" */
  GTLR_EXTERN NSString * const kGTLRBooksReasonOnboarding;
  
  // ----------------------------------------------------------------------------
  // Query Classes
  //
  
  /**
   *  Parent class for other Books query classes.
   */
  @interface GTLRBooksQuery : GTLRQuery
  
  /** Selector specifying which fields to include in a partial response. */
  @property(nonatomic, copy, nullable) NSString *fields;
  
  @end
  
  /**
   *  Retrieves metadata for a specific bookshelf for the specified user.
   *
   *  Method: books.bookshelves.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_BookshelvesGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForBookshelvesGetWithuserId:shelf:]
  
  /** ID of bookshelf to retrieve. */
  @property(nonatomic, copy, nullable) NSString *shelf;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** ID of user for whom to retrieve bookshelves. */
  @property(nonatomic, copy, nullable) NSString *userId;
  
  /**
   *  Fetches a @c GTLRBooks_Bookshelf.
   *
   *  Retrieves metadata for a specific bookshelf for the specified user.
   *
   *  @param userId ID of user for whom to retrieve bookshelves.
   *  @param shelf ID of bookshelf to retrieve.
   *
   *  @returns GTLRBooksQuery_BookshelvesGet
   */
  + (instancetype)queryWithUserId:(NSString *)userId
                            shelf:(NSString *)shelf;
  
  @end
  
  /**
   *  Retrieves a list of public bookshelves for the specified user.
   *
   *  Method: books.bookshelves.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_BookshelvesList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForBookshelvesListWithuserId:]
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** ID of user for whom to retrieve bookshelves. */
  @property(nonatomic, copy, nullable) NSString *userId;
  
  /**
   *  Fetches a @c GTLRBooks_Bookshelves.
   *
   *  Retrieves a list of public bookshelves for the specified user.
   *
   *  @param userId ID of user for whom to retrieve bookshelves.
   *
   *  @returns GTLRBooksQuery_BookshelvesList
   */
  + (instancetype)queryWithUserId:(NSString *)userId;
  
  @end
  
  /**
   *  Retrieves volumes in a specific bookshelf for the specified user.
   *
   *  Method: books.bookshelves.volumes.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_BookshelvesVolumesList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForBookshelvesVolumesListWithuserId:shelf:]
  
  /** Maximum number of results to return */
  @property(nonatomic, assign) NSUInteger maxResults;
  
  /** ID of bookshelf to retrieve volumes. */
  @property(nonatomic, copy, nullable) NSString *shelf;
  
  /** Set to true to show pre-ordered books. Defaults to false. */
  @property(nonatomic, assign) BOOL showPreorders;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** Index of the first element to return (starts at 0) */
  @property(nonatomic, assign) NSUInteger startIndex;
  
  /** ID of user for whom to retrieve bookshelf volumes. */
  @property(nonatomic, copy, nullable) NSString *userId;
  
  /**
   *  Fetches a @c GTLRBooks_Volumes.
   *
   *  Retrieves volumes in a specific bookshelf for the specified user.
   *
   *  @param userId ID of user for whom to retrieve bookshelf volumes.
   *  @param shelf ID of bookshelf to retrieve volumes.
   *
   *  @returns GTLRBooksQuery_BookshelvesVolumesList
   */
  + (instancetype)queryWithUserId:(NSString *)userId
                            shelf:(NSString *)shelf;
  
  @end
  
  /**
   *  GTLRBooksQuery_CloudloadingAddBook
   *
   *  Method: books.cloudloading.addBook
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_CloudloadingAddBook : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForCloudloadingAddBook]
  
  /** A drive document id. The upload_client_token must not be set. */
  @property(nonatomic, copy, nullable) NSString *driveDocumentId;
  
  /**
   *  The document MIME type. It can be set only if the drive_document_id is set.
   */
  @property(nonatomic, copy, nullable) NSString *mimeType;
  
  /** The document name. It can be set only if the drive_document_id is set. */
  @property(nonatomic, copy, nullable) NSString *name;
  
  @property(nonatomic, copy, nullable) NSString *uploadClientToken;
  
  /**
   *  Fetches a @c GTLRBooks_CloudloadingResource.
   *
   *  @returns GTLRBooksQuery_CloudloadingAddBook
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Remove the book and its contents
   *
   *  Method: books.cloudloading.deleteBook
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_CloudloadingDeleteBook : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForCloudloadingDeleteBookWithvolumeId:]
  
  /** The id of the book to be removed. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Remove the book and its contents
   *
   *  @param volumeId The id of the book to be removed.
   *
   *  @returns GTLRBooksQuery_CloudloadingDeleteBook
   */
  + (instancetype)queryWithVolumeId:(NSString *)volumeId;
  
  @end
  
  /**
   *  GTLRBooksQuery_CloudloadingUpdateBook
   *
   *  Method: books.cloudloading.updateBook
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_CloudloadingUpdateBook : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForCloudloadingUpdateBookWithObject:]
  
  /**
   *  Fetches a @c GTLRBooks_CloudloadingResource.
   *
   *  @param object The @c GTLRBooks_CloudloadingResource to include in the query.
   *
   *  @returns GTLRBooksQuery_CloudloadingUpdateBook
   */
  + (instancetype)queryWithObject:(GTLRBooks_CloudloadingResource *)object;
  
  @end
  
  /**
   *  Returns a list of offline dictionary metadata available
   *
   *  Method: books.dictionary.listOfflineMetadata
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_DictionaryListOfflineMetadata : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForDictionaryListOfflineMetadataWithcpksver:]
  
  /** The device/version ID from which to request the data. */
  @property(nonatomic, copy, nullable) NSString *cpksver;
  
  /**
   *  Fetches a @c GTLRBooks_Metadata.
   *
   *  Returns a list of offline dictionary metadata available
   *
   *  @param cpksver The device/version ID from which to request the data.
   *
   *  @returns GTLRBooksQuery_DictionaryListOfflineMetadata
   */
  + (instancetype)queryWithCpksver:(NSString *)cpksver;
  
  @end
  
  /**
   *  Gets the annotation data.
   *
   *  Method: books.layers.annotationData.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_LayersAnnotationDataGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForLayersAnnotationDataGetWithvolumeId:layerId:annotationDataId:contentVersion:]
  
  /** For the dictionary layer. Whether or not to allow web definitions. */
  @property(nonatomic, assign) BOOL allowWebDefinitions;
  
  /** The ID of the annotation data to retrieve. */
  @property(nonatomic, copy, nullable) NSString *annotationDataId;
  
  /** The content version for the volume you are trying to retrieve. */
  @property(nonatomic, copy, nullable) NSString *contentVersion;
  
  /**
   *  The requested pixel height for any images. If height is provided width must
   *  also be provided.
   */
  @property(nonatomic, assign) NSInteger h;
  
  /** The ID for the layer to get the annotations. */
  @property(nonatomic, copy, nullable) NSString *layerId;
  
  /**
   *  The locale information for the data. ISO-639-1 language and ISO-3166-1
   *  country code. Ex: 'en_US'.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /** The requested scale for the image. */
  @property(nonatomic, assign) NSInteger scale;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** The volume to retrieve annotations for. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  The requested pixel width for any images. If width is provided height must
   *  also be provided.
   */
  @property(nonatomic, assign) NSInteger w;
  
  /**
   *  Fetches a @c GTLRBooks_Annotationdata.
   *
   *  Gets the annotation data.
   *
   *  @param volumeId The volume to retrieve annotations for.
   *  @param layerId The ID for the layer to get the annotations.
   *  @param annotationDataId The ID of the annotation data to retrieve.
   *  @param contentVersion The content version for the volume you are trying to
   *    retrieve.
   *
   *  @returns GTLRBooksQuery_LayersAnnotationDataGet
   */
  + (instancetype)queryWithVolumeId:(NSString *)volumeId
                            layerId:(NSString *)layerId
                   annotationDataId:(NSString *)annotationDataId
                     contentVersion:(NSString *)contentVersion;
  
  @end
  
  /**
   *  Gets the annotation data for a volume and layer.
   *
   *  Method: books.layers.annotationData.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_LayersAnnotationDataList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForLayersAnnotationDataListWithvolumeId:layerId:contentVersion:]
  
  /**
   *  The list of Annotation Data Ids to retrieve. Pagination is ignored if this
   *  is set.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *annotationDataId;
  
  /** The content version for the requested volume. */
  @property(nonatomic, copy, nullable) NSString *contentVersion;
  
  /**
   *  The requested pixel height for any images. If height is provided width must
   *  also be provided.
   */
  @property(nonatomic, assign) NSInteger h;
  
  /** The ID for the layer to get the annotation data. */
  @property(nonatomic, copy, nullable) NSString *layerId;
  
  /**
   *  The locale information for the data. ISO-639-1 language and ISO-3166-1
   *  country code. Ex: 'en_US'.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /**
   *  Maximum number of results to return
   *
   *  @note The documented range is 0..200.
   */
  @property(nonatomic, assign) NSUInteger maxResults;
  
  /** The value of the nextToken from the previous page. */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /** The requested scale for the image. */
  @property(nonatomic, assign) NSInteger scale;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /**
   *  RFC 3339 timestamp to restrict to items updated prior to this timestamp
   *  (exclusive).
   */
  @property(nonatomic, copy, nullable) NSString *updatedMax;
  
  /**
   *  RFC 3339 timestamp to restrict to items updated since this timestamp
   *  (inclusive).
   */
  @property(nonatomic, copy, nullable) NSString *updatedMin;
  
  /** The volume to retrieve annotation data for. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  The requested pixel width for any images. If width is provided height must
   *  also be provided.
   */
  @property(nonatomic, assign) NSInteger w;
  
  /**
   *  Fetches a @c GTLRBooks_Annotationsdata.
   *
   *  Gets the annotation data for a volume and layer.
   *
   *  @param volumeId The volume to retrieve annotation data for.
   *  @param layerId The ID for the layer to get the annotation data.
   *  @param contentVersion The content version for the requested volume.
   *
   *  @returns GTLRBooksQuery_LayersAnnotationDataList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithVolumeId:(NSString *)volumeId
                            layerId:(NSString *)layerId
                     contentVersion:(NSString *)contentVersion;
  
  @end
  
  /**
   *  Gets the layer summary for a volume.
   *
   *  Method: books.layers.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_LayersGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForLayersGetWithvolumeId:summaryId:]
  
  /** The content version for the requested volume. */
  @property(nonatomic, copy, nullable) NSString *contentVersion;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** The ID for the layer to get the summary for. */
  @property(nonatomic, copy, nullable) NSString *summaryId;
  
  /** The volume to retrieve layers for. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_Layersummary.
   *
   *  Gets the layer summary for a volume.
   *
   *  @param volumeId The volume to retrieve layers for.
   *  @param summaryId The ID for the layer to get the summary for.
   *
   *  @returns GTLRBooksQuery_LayersGet
   */
  + (instancetype)queryWithVolumeId:(NSString *)volumeId
                          summaryId:(NSString *)summaryId;
  
  @end
  
  /**
   *  List the layer summaries for a volume.
   *
   *  Method: books.layers.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_LayersList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForLayersListWithvolumeId:]
  
  /** The content version for the requested volume. */
  @property(nonatomic, copy, nullable) NSString *contentVersion;
  
  /**
   *  Maximum number of results to return
   *
   *  @note The documented range is 0..200.
   */
  @property(nonatomic, assign) NSUInteger maxResults;
  
  /** The value of the nextToken from the previous page. */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** The volume to retrieve layers for. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_Layersummaries.
   *
   *  List the layer summaries for a volume.
   *
   *  @param volumeId The volume to retrieve layers for.
   *
   *  @returns GTLRBooksQuery_LayersList
   */
  + (instancetype)queryWithVolumeId:(NSString *)volumeId;
  
  @end
  
  /**
   *  Gets the volume annotation.
   *
   *  Method: books.layers.volumeAnnotations.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_LayersVolumeAnnotationsGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForLayersVolumeAnnotationsGetWithvolumeId:layerId:annotationId:]
  
  /** The ID of the volume annotation to retrieve. */
  @property(nonatomic, copy, nullable) NSString *annotationId;
  
  /** The ID for the layer to get the annotations. */
  @property(nonatomic, copy, nullable) NSString *layerId;
  
  /**
   *  The locale information for the data. ISO-639-1 language and ISO-3166-1
   *  country code. Ex: 'en_US'.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** The volume to retrieve annotations for. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_Volumeannotation.
   *
   *  Gets the volume annotation.
   *
   *  @param volumeId The volume to retrieve annotations for.
   *  @param layerId The ID for the layer to get the annotations.
   *  @param annotationId The ID of the volume annotation to retrieve.
   *
   *  @returns GTLRBooksQuery_LayersVolumeAnnotationsGet
   */
  + (instancetype)queryWithVolumeId:(NSString *)volumeId
                            layerId:(NSString *)layerId
                       annotationId:(NSString *)annotationId;
  
  @end
  
  /**
   *  Gets the volume annotations for a volume and layer.
   *
   *  Method: books.layers.volumeAnnotations.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_LayersVolumeAnnotationsList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForLayersVolumeAnnotationsListWithvolumeId:layerId:contentVersion:]
  
  /** The content version for the requested volume. */
  @property(nonatomic, copy, nullable) NSString *contentVersion;
  
  /** The end offset to end retrieving data from. */
  @property(nonatomic, copy, nullable) NSString *endOffset;
  
  /** The end position to end retrieving data from. */
  @property(nonatomic, copy, nullable) NSString *endPosition;
  
  /** The ID for the layer to get the annotations. */
  @property(nonatomic, copy, nullable) NSString *layerId;
  
  /**
   *  The locale information for the data. ISO-639-1 language and ISO-3166-1
   *  country code. Ex: 'en_US'.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /**
   *  Maximum number of results to return
   *
   *  @note The documented range is 0..200.
   */
  @property(nonatomic, assign) NSUInteger maxResults;
  
  /** The value of the nextToken from the previous page. */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Set to true to return deleted annotations. updatedMin must be in the request
   *  to use this. Defaults to false.
   */
  @property(nonatomic, assign) BOOL showDeleted;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** The start offset to start retrieving data from. */
  @property(nonatomic, copy, nullable) NSString *startOffset;
  
  /** The start position to start retrieving data from. */
  @property(nonatomic, copy, nullable) NSString *startPosition;
  
  /**
   *  RFC 3339 timestamp to restrict to items updated prior to this timestamp
   *  (exclusive).
   */
  @property(nonatomic, copy, nullable) NSString *updatedMax;
  
  /**
   *  RFC 3339 timestamp to restrict to items updated since this timestamp
   *  (inclusive).
   */
  @property(nonatomic, copy, nullable) NSString *updatedMin;
  
  /** The version of the volume annotations that you are requesting. */
  @property(nonatomic, copy, nullable) NSString *volumeAnnotationsVersion;
  
  /** The volume to retrieve annotations for. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_Volumeannotations.
   *
   *  Gets the volume annotations for a volume and layer.
   *
   *  @param volumeId The volume to retrieve annotations for.
   *  @param layerId The ID for the layer to get the annotations.
   *  @param contentVersion The content version for the requested volume.
   *
   *  @returns GTLRBooksQuery_LayersVolumeAnnotationsList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithVolumeId:(NSString *)volumeId
                            layerId:(NSString *)layerId
                     contentVersion:(NSString *)contentVersion;
  
  @end
  
  /**
   *  Gets the current settings for the user.
   *
   *  Method: books.myconfig.getUserSettings
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MyconfigGetUserSettings : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMyconfigGetUserSettings]
  
  /**
   *  Fetches a @c GTLRBooks_Usersettings.
   *
   *  Gets the current settings for the user.
   *
   *  @returns GTLRBooksQuery_MyconfigGetUserSettings
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Release downloaded content access restriction.
   *
   *  Method: books.myconfig.releaseDownloadAccess
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MyconfigReleaseDownloadAccess : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMyconfigReleaseDownloadAccessWithvolumeIds:cpksver:]
  
  /** The device/version ID from which to release the restriction. */
  @property(nonatomic, copy, nullable) NSString *cpksver;
  
  /** ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** The volume(s) to release restrictions for. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *volumeIds;
  
  /**
   *  Fetches a @c GTLRBooks_DownloadAccesses.
   *
   *  Release downloaded content access restriction.
   *
   *  @param volumeIds The volume(s) to release restrictions for.
   *  @param cpksver The device/version ID from which to release the restriction.
   *
   *  @returns GTLRBooksQuery_MyconfigReleaseDownloadAccess
   */
  + (instancetype)queryWithVolumeIds:(NSArray<NSString *> *)volumeIds
                             cpksver:(NSString *)cpksver;
  
  @end
  
  /**
   *  Request concurrent and download access restrictions.
   *
   *  Method: books.myconfig.requestAccess
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MyconfigRequestAccess : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMyconfigRequestAccessWithsource:volumeId:nonce:cpksver:]
  
  /** The device/version ID from which to request the restrictions. */
  @property(nonatomic, copy, nullable) NSString *cpksver;
  
  /**
   *  The type of access license to request. If not specified, the default is
   *  BOTH.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksLicenseTypesBoth Both concurrent and download licenses.
   *        (Value: "BOTH")
   *    @arg @c kGTLRBooksLicenseTypesConcurrent Concurrent access license.
   *        (Value: "CONCURRENT")
   *    @arg @c kGTLRBooksLicenseTypesDownload Offline download access license.
   *        (Value: "DOWNLOAD")
   */
  @property(nonatomic, copy, nullable) NSString *licenseTypes;
  
  /** ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /** The client nonce value. */
  @property(nonatomic, copy, nullable) NSString *nonce;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** The volume to request concurrent/download restrictions for. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_RequestAccess.
   *
   *  Request concurrent and download access restrictions.
   *
   *  @param source String to identify the originator of this request.
   *  @param volumeId The volume to request concurrent/download restrictions for.
   *  @param nonce The client nonce value.
   *  @param cpksver The device/version ID from which to request the restrictions.
   *
   *  @returns GTLRBooksQuery_MyconfigRequestAccess
   */
  + (instancetype)queryWithSource:(NSString *)source
                         volumeId:(NSString *)volumeId
                            nonce:(NSString *)nonce
                          cpksver:(NSString *)cpksver;
  
  @end
  
  /**
   *  Request downloaded content access for specified volumes on the My eBooks
   *  shelf.
   *
   *  Method: books.myconfig.syncVolumeLicenses
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MyconfigSyncVolumeLicenses : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMyconfigSyncVolumeLicensesWithsource:nonce:cpksver:]
  
  /** The device/version ID from which to release the restriction. */
  @property(nonatomic, copy, nullable) NSString *cpksver;
  
  /**
   *  List of features supported by the client, i.e., 'RENTALS'
   *
   *  Likely values:
   *    @arg @c kGTLRBooksFeaturesRentals Client supports rentals. (Value:
   *        "RENTALS")
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *features;
  
  /** Set to true to include non-comics series. Defaults to false. */
  @property(nonatomic, assign) BOOL includeNonComicsSeries;
  
  /** ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /** The client nonce value. */
  @property(nonatomic, copy, nullable) NSString *nonce;
  
  /** Set to true to show pre-ordered books. Defaults to false. */
  @property(nonatomic, assign) BOOL showPreorders;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** The volume(s) to request download restrictions for. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *volumeIds;
  
  /**
   *  Fetches a @c GTLRBooks_Volumes.
   *
   *  Request downloaded content access for specified volumes on the My eBooks
   *  shelf.
   *
   *  @param source String to identify the originator of this request.
   *  @param nonce The client nonce value.
   *  @param cpksver The device/version ID from which to release the restriction.
   *
   *  @returns GTLRBooksQuery_MyconfigSyncVolumeLicenses
   */
  + (instancetype)queryWithSource:(NSString *)source
                            nonce:(NSString *)nonce
                          cpksver:(NSString *)cpksver;
  
  @end
  
  /**
   *  Sets the settings for the user. If a sub-object is specified, it will
   *  overwrite the existing sub-object stored in the server. Unspecified
   *  sub-objects will retain the existing value.
   *
   *  Method: books.myconfig.updateUserSettings
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MyconfigUpdateUserSettings : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMyconfigUpdateUserSettingsWithObject:]
  
  /**
   *  Fetches a @c GTLRBooks_Usersettings.
   *
   *  Sets the settings for the user. If a sub-object is specified, it will
   *  overwrite the existing sub-object stored in the server. Unspecified
   *  sub-objects will retain the existing value.
   *
   *  @param object The @c GTLRBooks_Usersettings to include in the query.
   *
   *  @returns GTLRBooksQuery_MyconfigUpdateUserSettings
   */
  + (instancetype)queryWithObject:(GTLRBooks_Usersettings *)object;
  
  @end
  
  /**
   *  Deletes an annotation.
   *
   *  Method: books.mylibrary.annotations.delete
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryAnnotationsDelete : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryAnnotationsDeleteWithannotationId:]
  
  /** The ID for the annotation to delete. */
  @property(nonatomic, copy, nullable) NSString *annotationId;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Deletes an annotation.
   *
   *  @param annotationId The ID for the annotation to delete.
   *
   *  @returns GTLRBooksQuery_MylibraryAnnotationsDelete
   */
  + (instancetype)queryWithAnnotationId:(NSString *)annotationId;
  
  @end
  
  /**
   *  Inserts a new annotation.
   *
   *  Method: books.mylibrary.annotations.insert
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryAnnotationsInsert : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryAnnotationsInsertWithObject:]
  
  /** ISO-3166-1 code to override the IP-based location. */
  @property(nonatomic, copy, nullable) NSString *country;
  
  /**
   *  Requests that only the summary of the specified layer be provided in the
   *  response.
   */
  @property(nonatomic, assign) BOOL showOnlySummaryInResponse;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /**
   *  Fetches a @c GTLRBooks_Annotation.
   *
   *  Inserts a new annotation.
   *
   *  @param object The @c GTLRBooks_Annotation to include in the query.
   *
   *  @returns GTLRBooksQuery_MylibraryAnnotationsInsert
   */
  + (instancetype)queryWithObject:(GTLRBooks_Annotation *)object;
  
  @end
  
  /**
   *  Retrieves a list of annotations, possibly filtered.
   *
   *  Method: books.mylibrary.annotations.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryAnnotationsList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryAnnotationsList]
  
  /** The content version for the requested volume. */
  @property(nonatomic, copy, nullable) NSString *contentVersion;
  
  /** The layer ID to limit annotation by. */
  @property(nonatomic, copy, nullable) NSString *layerId;
  
  /** The layer ID(s) to limit annotation by. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *layerIds;
  
  /**
   *  Maximum number of results to return
   *
   *  @note The documented range is 0..40.
   */
  @property(nonatomic, assign) NSUInteger maxResults;
  
  /** The value of the nextToken from the previous page. */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Set to true to return deleted annotations. updatedMin must be in the request
   *  to use this. Defaults to false.
   */
  @property(nonatomic, assign) BOOL showDeleted;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /**
   *  RFC 3339 timestamp to restrict to items updated prior to this timestamp
   *  (exclusive).
   */
  @property(nonatomic, copy, nullable) NSString *updatedMax;
  
  /**
   *  RFC 3339 timestamp to restrict to items updated since this timestamp
   *  (inclusive).
   */
  @property(nonatomic, copy, nullable) NSString *updatedMin;
  
  /** The volume to restrict annotations to. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_Annotations.
   *
   *  Retrieves a list of annotations, possibly filtered.
   *
   *  @returns GTLRBooksQuery_MylibraryAnnotationsList
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Gets the summary of specified layers.
   *
   *  Method: books.mylibrary.annotations.summary
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryAnnotationsSummary : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryAnnotationsSummaryWithlayerIds:volumeId:]
  
  /** Array of layer IDs to get the summary for. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *layerIds;
  
  /** Volume id to get the summary for. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_AnnotationsSummary.
   *
   *  Gets the summary of specified layers.
   *
   *  @param layerIds Array of layer IDs to get the summary for.
   *  @param volumeId Volume id to get the summary for.
   *
   *  @returns GTLRBooksQuery_MylibraryAnnotationsSummary
   */
  + (instancetype)queryWithLayerIds:(NSArray<NSString *> *)layerIds
                           volumeId:(NSString *)volumeId;
  
  @end
  
  /**
   *  Updates an existing annotation.
   *
   *  Method: books.mylibrary.annotations.update
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryAnnotationsUpdate : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryAnnotationsUpdateWithObject:annotationId:]
  
  /** The ID for the annotation to update. */
  @property(nonatomic, copy, nullable) NSString *annotationId;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /**
   *  Fetches a @c GTLRBooks_Annotation.
   *
   *  Updates an existing annotation.
   *
   *  @param object The @c GTLRBooks_Annotation to include in the query.
   *  @param annotationId The ID for the annotation to update.
   *
   *  @returns GTLRBooksQuery_MylibraryAnnotationsUpdate
   */
  + (instancetype)queryWithObject:(GTLRBooks_Annotation *)object
                     annotationId:(NSString *)annotationId;
  
  @end
  
  /**
   *  Adds a volume to a bookshelf.
   *
   *  Method: books.mylibrary.bookshelves.addVolume
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryBookshelvesAddVolume : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryBookshelvesAddVolumeWithshelf:volumeId:]
  
  /**
   *  The reason for which the book is added to the library.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksReasonIosPrex Volumes added from the PREX flow on iOS.
   *        (Value: "IOS_PREX")
   *    @arg @c kGTLRBooksReasonIosSearch Volumes added from the Search flow on
   *        iOS. (Value: "IOS_SEARCH")
   *    @arg @c kGTLRBooksReasonOnboarding Volumes added from the Onboarding flow.
   *        (Value: "ONBOARDING")
   */
  @property(nonatomic, copy, nullable) NSString *reason;
  
  /** ID of bookshelf to which to add a volume. */
  @property(nonatomic, copy, nullable) NSString *shelf;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** ID of volume to add. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Adds a volume to a bookshelf.
   *
   *  @param shelf ID of bookshelf to which to add a volume.
   *  @param volumeId ID of volume to add.
   *
   *  @returns GTLRBooksQuery_MylibraryBookshelvesAddVolume
   */
  + (instancetype)queryWithShelf:(NSString *)shelf
                        volumeId:(NSString *)volumeId;
  
  @end
  
  /**
   *  Clears all volumes from a bookshelf.
   *
   *  Method: books.mylibrary.bookshelves.clearVolumes
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryBookshelvesClearVolumes : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryBookshelvesClearVolumesWithshelf:]
  
  /** ID of bookshelf from which to remove a volume. */
  @property(nonatomic, copy, nullable) NSString *shelf;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Clears all volumes from a bookshelf.
   *
   *  @param shelf ID of bookshelf from which to remove a volume.
   *
   *  @returns GTLRBooksQuery_MylibraryBookshelvesClearVolumes
   */
  + (instancetype)queryWithShelf:(NSString *)shelf;
  
  @end
  
  /**
   *  Retrieves metadata for a specific bookshelf belonging to the authenticated
   *  user.
   *
   *  Method: books.mylibrary.bookshelves.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryBookshelvesGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryBookshelvesGetWithshelf:]
  
  /** ID of bookshelf to retrieve. */
  @property(nonatomic, copy, nullable) NSString *shelf;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /**
   *  Fetches a @c GTLRBooks_Bookshelf.
   *
   *  Retrieves metadata for a specific bookshelf belonging to the authenticated
   *  user.
   *
   *  @param shelf ID of bookshelf to retrieve.
   *
   *  @returns GTLRBooksQuery_MylibraryBookshelvesGet
   */
  + (instancetype)queryWithShelf:(NSString *)shelf;
  
  @end
  
  /**
   *  Retrieves a list of bookshelves belonging to the authenticated user.
   *
   *  Method: books.mylibrary.bookshelves.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryBookshelvesList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryBookshelvesList]
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /**
   *  Fetches a @c GTLRBooks_Bookshelves.
   *
   *  Retrieves a list of bookshelves belonging to the authenticated user.
   *
   *  @returns GTLRBooksQuery_MylibraryBookshelvesList
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Moves a volume within a bookshelf.
   *
   *  Method: books.mylibrary.bookshelves.moveVolume
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryBookshelvesMoveVolume : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryBookshelvesMoveVolumeWithshelf:volumeId:volumePosition:]
  
  /** ID of bookshelf with the volume. */
  @property(nonatomic, copy, nullable) NSString *shelf;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** ID of volume to move. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Position on shelf to move the item (0 puts the item before the current first
   *  item, 1 puts it between the first and the second and so on.)
   */
  @property(nonatomic, assign) NSInteger volumePosition;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Moves a volume within a bookshelf.
   *
   *  @param shelf ID of bookshelf with the volume.
   *  @param volumeId ID of volume to move.
   *  @param volumePosition Position on shelf to move the item (0 puts the item
   *    before the current first item, 1 puts it between the first and the second
   *    and so on.)
   *
   *  @returns GTLRBooksQuery_MylibraryBookshelvesMoveVolume
   */
  + (instancetype)queryWithShelf:(NSString *)shelf
                        volumeId:(NSString *)volumeId
                  volumePosition:(NSInteger)volumePosition;
  
  @end
  
  /**
   *  Removes a volume from a bookshelf.
   *
   *  Method: books.mylibrary.bookshelves.removeVolume
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryBookshelvesRemoveVolume : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryBookshelvesRemoveVolumeWithshelf:volumeId:]
  
  /**
   *  The reason for which the book is removed from the library.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksReasonOnboarding Samples removed from the Onboarding
   *        flow. (Value: "ONBOARDING")
   */
  @property(nonatomic, copy, nullable) NSString *reason;
  
  /** ID of bookshelf from which to remove a volume. */
  @property(nonatomic, copy, nullable) NSString *shelf;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** ID of volume to remove. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Removes a volume from a bookshelf.
   *
   *  @param shelf ID of bookshelf from which to remove a volume.
   *  @param volumeId ID of volume to remove.
   *
   *  @returns GTLRBooksQuery_MylibraryBookshelvesRemoveVolume
   */
  + (instancetype)queryWithShelf:(NSString *)shelf
                        volumeId:(NSString *)volumeId;
  
  @end
  
  /**
   *  Gets volume information for volumes on a bookshelf.
   *
   *  Method: books.mylibrary.bookshelves.volumes.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryBookshelvesVolumesList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryBookshelvesVolumesListWithshelf:]
  
  /** ISO-3166-1 code to override the IP-based location. */
  @property(nonatomic, copy, nullable) NSString *country;
  
  /** Maximum number of results to return */
  @property(nonatomic, assign) NSUInteger maxResults;
  
  /**
   *  Restrict information returned to a set of selected fields.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksProjectionFull Includes all volume data. (Value: "full")
   *    @arg @c kGTLRBooksProjectionLite Includes a subset of fields in volumeInfo
   *        and accessInfo. (Value: "lite")
   */
  @property(nonatomic, copy, nullable) NSString *projection;
  
  /** Full-text search query string in this bookshelf. */
  @property(nonatomic, copy, nullable) NSString *q;
  
  /** The bookshelf ID or name retrieve volumes for. */
  @property(nonatomic, copy, nullable) NSString *shelf;
  
  /** Set to true to show pre-ordered books. Defaults to false. */
  @property(nonatomic, assign) BOOL showPreorders;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** Index of the first element to return (starts at 0) */
  @property(nonatomic, assign) NSUInteger startIndex;
  
  /**
   *  Fetches a @c GTLRBooks_Volumes.
   *
   *  Gets volume information for volumes on a bookshelf.
   *
   *  @param shelf The bookshelf ID or name retrieve volumes for.
   *
   *  @returns GTLRBooksQuery_MylibraryBookshelvesVolumesList
   */
  + (instancetype)queryWithShelf:(NSString *)shelf;
  
  @end
  
  /**
   *  Retrieves my reading position information for a volume.
   *
   *  Method: books.mylibrary.readingpositions.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryReadingpositionsGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryReadingpositionsGetWithvolumeId:]
  
  /** Volume content version for which this reading position is requested. */
  @property(nonatomic, copy, nullable) NSString *contentVersion;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** ID of volume for which to retrieve a reading position. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_ReadingPosition.
   *
   *  Retrieves my reading position information for a volume.
   *
   *  @param volumeId ID of volume for which to retrieve a reading position.
   *
   *  @returns GTLRBooksQuery_MylibraryReadingpositionsGet
   */
  + (instancetype)queryWithVolumeId:(NSString *)volumeId;
  
  @end
  
  /**
   *  Sets my reading position information for a volume.
   *
   *  Method: books.mylibrary.readingpositions.setPosition
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_MylibraryReadingpositionsSetPosition : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForMylibraryReadingpositionsSetPositionWithvolumeId:timestamp:position:]
  
  /**
   *  Action that caused this reading position to be set.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksActionBookmark User chose bookmark within volume.
   *        (Value: "bookmark")
   *    @arg @c kGTLRBooksActionChapter User selected chapter from list. (Value:
   *        "chapter")
   *    @arg @c kGTLRBooksActionNextPage Next page event. (Value: "next-page")
   *    @arg @c kGTLRBooksActionPrevPage Previous page event. (Value: "prev-page")
   *    @arg @c kGTLRBooksActionScroll User navigated to page. (Value: "scroll")
   *    @arg @c kGTLRBooksActionSearch User chose search results within volume.
   *        (Value: "search")
   */
  @property(nonatomic, copy, nullable) NSString *action;
  
  /** Volume content version for which this reading position applies. */
  @property(nonatomic, copy, nullable) NSString *contentVersion;
  
  /** Random persistent device cookie optional on set position. */
  @property(nonatomic, copy, nullable) NSString *deviceCookie;
  
  /** Position string for the new volume reading position. */
  @property(nonatomic, copy, nullable) NSString *position;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** RFC 3339 UTC format timestamp associated with this reading position. */
  @property(nonatomic, copy, nullable) NSString *timestamp;
  
  /** ID of volume for which to update the reading position. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  Sets my reading position information for a volume.
   *
   *  @param volumeId ID of volume for which to update the reading position.
   *  @param timestamp RFC 3339 UTC format timestamp associated with this reading
   *    position.
   *  @param position Position string for the new volume reading position.
   *
   *  @returns GTLRBooksQuery_MylibraryReadingpositionsSetPosition
   */
  + (instancetype)queryWithVolumeId:(NSString *)volumeId
                          timestamp:(NSString *)timestamp
                           position:(NSString *)position;
  
  @end
  
  /**
   *  Returns notification details for a given notification id.
   *
   *  Method: books.notification.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_NotificationGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForNotificationGetWithnotificationId:]
  
  /**
   *  ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for
   *  generating notification title and body.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /** String to identify the notification. */
  @property(nonatomic, copy, nullable) NSString *notificationId;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /**
   *  Fetches a @c GTLRBooks_Notification.
   *
   *  Returns notification details for a given notification id.
   *
   *  @param notificationId String to identify the notification.
   *
   *  @returns GTLRBooksQuery_NotificationGet
   */
  + (instancetype)queryWithNotificationId:(NSString *)notificationId;
  
  @end
  
  /**
   *  List categories for onboarding experience.
   *
   *  Method: books.onboarding.listCategories
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_OnboardingListCategories : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForOnboardingListCategories]
  
  /**
   *  ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /**
   *  Fetches a @c GTLRBooks_Category.
   *
   *  List categories for onboarding experience.
   *
   *  @returns GTLRBooksQuery_OnboardingListCategories
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  List available volumes under categories for onboarding experience.
   *
   *  Method: books.onboarding.listCategoryVolumes
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_OnboardingListCategoryVolumes : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForOnboardingListCategoryVolumes]
  
  /** List of category ids requested. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *categoryId;
  
  /**
   *  ISO-639-1 language and ISO-3166-1 country code. Default is en-US if unset.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /**
   *  The maximum allowed maturity rating of returned volumes. Books with a higher
   *  maturity rating are filtered out.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksMaxAllowedMaturityRatingMature Show books which are
   *        rated mature or lower. (Value: "mature")
   *    @arg @c kGTLRBooksMaxAllowedMaturityRatingNotMature Show books which are
   *        rated not mature. (Value: "not-mature")
   */
  @property(nonatomic, copy, nullable) NSString *maxAllowedMaturityRating;
  
  /** Number of maximum results per page to be included in the response. */
  @property(nonatomic, assign) NSUInteger pageSize;
  
  /** The value of the nextToken from the previous page. */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /**
   *  Fetches a @c GTLRBooks_Volume2.
   *
   *  List available volumes under categories for onboarding experience.
   *
   *  @returns GTLRBooksQuery_OnboardingListCategoryVolumes
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Returns a stream of personalized book clusters
   *
   *  Method: books.personalizedstream.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_PersonalizedstreamGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForPersonalizedstreamGet]
  
  /**
   *  ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for
   *  generating recommendations.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /**
   *  The maximum allowed maturity rating of returned recommendations. Books with
   *  a higher maturity rating are filtered out.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksMaxAllowedMaturityRatingMature Show books which are
   *        rated mature or lower. (Value: "mature")
   *    @arg @c kGTLRBooksMaxAllowedMaturityRatingNotMature Show books which are
   *        rated not mature. (Value: "not-mature")
   */
  @property(nonatomic, copy, nullable) NSString *maxAllowedMaturityRating;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /**
   *  Fetches a @c GTLRBooks_Discoveryclusters.
   *
   *  Returns a stream of personalized book clusters
   *
   *  @returns GTLRBooksQuery_PersonalizedstreamGet
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  GTLRBooksQuery_PromoofferAccept
   *
   *  Method: books.promooffer.accept
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_PromoofferAccept : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForPromoofferAccept]
  
  /** device android_id */
  @property(nonatomic, copy, nullable) NSString *androidId;
  
  /** device device */
  @property(nonatomic, copy, nullable) NSString *device;
  
  /** device manufacturer */
  @property(nonatomic, copy, nullable) NSString *manufacturer;
  
  /** device model */
  @property(nonatomic, copy, nullable) NSString *model;
  
  @property(nonatomic, copy, nullable) NSString *offerId;
  
  /** device product */
  @property(nonatomic, copy, nullable) NSString *product;
  
  /** device serial */
  @property(nonatomic, copy, nullable) NSString *serial;
  
  /** Volume id to exercise the offer */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  @returns GTLRBooksQuery_PromoofferAccept
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  GTLRBooksQuery_PromoofferDismiss
   *
   *  Method: books.promooffer.dismiss
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_PromoofferDismiss : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForPromoofferDismiss]
  
  /** device android_id */
  @property(nonatomic, copy, nullable) NSString *androidId;
  
  /** device device */
  @property(nonatomic, copy, nullable) NSString *device;
  
  /** device manufacturer */
  @property(nonatomic, copy, nullable) NSString *manufacturer;
  
  /** device model */
  @property(nonatomic, copy, nullable) NSString *model;
  
  /** Offer to dimiss */
  @property(nonatomic, copy, nullable) NSString *offerId;
  
  /** device product */
  @property(nonatomic, copy, nullable) NSString *product;
  
  /** device serial */
  @property(nonatomic, copy, nullable) NSString *serial;
  
  /**
   *  Upon successful completion, the callback's object and error parameters will
   *  be nil. This query does not fetch an object.
   *
   *  @returns GTLRBooksQuery_PromoofferDismiss
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Returns a list of promo offers available to the user
   *
   *  Method: books.promooffer.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_PromoofferGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForPromoofferGet]
  
  /** device android_id */
  @property(nonatomic, copy, nullable) NSString *androidId;
  
  /** device device */
  @property(nonatomic, copy, nullable) NSString *device;
  
  /** device manufacturer */
  @property(nonatomic, copy, nullable) NSString *manufacturer;
  
  /** device model */
  @property(nonatomic, copy, nullable) NSString *model;
  
  /** device product */
  @property(nonatomic, copy, nullable) NSString *product;
  
  /** device serial */
  @property(nonatomic, copy, nullable) NSString *serial;
  
  /**
   *  Fetches a @c GTLRBooks_Offers.
   *
   *  Returns a list of promo offers available to the user
   *
   *  @returns GTLRBooksQuery_PromoofferGet
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Returns Series metadata for the given series ids.
   *
   *  Method: books.series.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_SeriesGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForSeriesGetWithseriesId:]
  
  /** String that identifies the series */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *seriesId;
  
  /**
   *  Fetches a @c GTLRBooks_Series.
   *
   *  Returns Series metadata for the given series ids.
   *
   *  @param seriesId String that identifies the series
   *
   *  @returns GTLRBooksQuery_SeriesGet
   */
  + (instancetype)queryWithSeriesId:(NSArray<NSString *> *)seriesId;
  
  @end
  
  /**
   *  Returns Series membership data given the series id.
   *
   *  Method: books.series.membership.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_SeriesMembershipGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForSeriesMembershipGetWithseriesId:]
  
  /** Number of maximum results per page to be included in the response. */
  @property(nonatomic, assign) NSUInteger pageSize;
  
  /** The value of the nextToken from the previous page. */
  @property(nonatomic, copy, nullable) NSString *pageToken;
  
  /** String that identifies the series */
  @property(nonatomic, copy, nullable) NSString *seriesId;
  
  /**
   *  Fetches a @c GTLRBooks_Seriesmembership.
   *
   *  Returns Series membership data given the series id.
   *
   *  @param seriesId String that identifies the series
   *
   *  @returns GTLRBooksQuery_SeriesMembershipGet
   *
   *  @note Automatic pagination will be done when @c shouldFetchNextPages is
   *        enabled. See @c shouldFetchNextPages on @c GTLRService for more
   *        information.
   */
  + (instancetype)queryWithSeriesId:(NSString *)seriesId;
  
  @end
  
  /**
   *  Return a list of associated books.
   *
   *  Method: books.volumes.associated.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_VolumesAssociatedList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForVolumesAssociatedListWithvolumeId:]
  
  /**
   *  Association type.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksAssociationEndOfSample Recommendations for display
   *        end-of-sample. (Value: "end-of-sample")
   *    @arg @c kGTLRBooksAssociationEndOfVolume Recommendations for display
   *        end-of-volume. (Value: "end-of-volume")
   *    @arg @c kGTLRBooksAssociationRelatedForPlay Related volumes for Play
   *        Store. (Value: "related-for-play")
   */
  @property(nonatomic, copy, nullable) NSString *association;
  
  /**
   *  ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for
   *  generating recommendations.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /**
   *  The maximum allowed maturity rating of returned recommendations. Books with
   *  a higher maturity rating are filtered out.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksMaxAllowedMaturityRatingMature Show books which are
   *        rated mature or lower. (Value: "mature")
   *    @arg @c kGTLRBooksMaxAllowedMaturityRatingNotMature Show books which are
   *        rated not mature. (Value: "not-mature")
   */
  @property(nonatomic, copy, nullable) NSString *maxAllowedMaturityRating;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** ID of the source volume. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_Volumes.
   *
   *  Return a list of associated books.
   *
   *  @param volumeId ID of the source volume.
   *
   *  @returns GTLRBooksQuery_VolumesAssociatedList
   */
  + (instancetype)queryWithVolumeId:(NSString *)volumeId;
  
  @end
  
  /**
   *  Gets volume information for a single volume.
   *
   *  Method: books.volumes.get
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_VolumesGet : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForVolumesGetWithvolumeId:]
  
  /** ISO-3166-1 code to override the IP-based location. */
  @property(nonatomic, copy, nullable) NSString *country;
  
  /** Set to true to include non-comics series. Defaults to false. */
  @property(nonatomic, assign) BOOL includeNonComicsSeries;
  
  /** Brand results for partner ID. */
  @property(nonatomic, copy, nullable) NSString *partner;
  
  /**
   *  Restrict information returned to a set of selected fields.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksProjectionFull Includes all volume data. (Value: "full")
   *    @arg @c kGTLRBooksProjectionLite Includes a subset of fields in volumeInfo
   *        and accessInfo. (Value: "lite")
   */
  @property(nonatomic, copy, nullable) NSString *projection;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  @property(nonatomic, assign) BOOL userLibraryConsistentRead;
  
  /** ID of volume to retrieve. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_Volume.
   *
   *  Gets volume information for a single volume.
   *
   *  @param volumeId ID of volume to retrieve.
   *
   *  @returns GTLRBooksQuery_VolumesGet
   */
  + (instancetype)queryWithVolumeId:(NSString *)volumeId;
  
  @end
  
  /**
   *  Performs a book search.
   *
   *  Method: books.volumes.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_VolumesList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForVolumesListWithq:]
  
  /**
   *  Restrict to volumes by download availability.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksDownloadEpub All volumes with epub. (Value: "epub")
   */
  @property(nonatomic, copy, nullable) NSString *download;
  
  /**
   *  Filter search results.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksFilterEbooks All Google eBooks. (Value: "ebooks")
   *    @arg @c kGTLRBooksFilterFreeEbooks Google eBook with full volume text
   *        viewability. (Value: "free-ebooks")
   *    @arg @c kGTLRBooksFilterFull Public can view entire volume text. (Value:
   *        "full")
   *    @arg @c kGTLRBooksFilterPaidEbooks Google eBook with a price. (Value:
   *        "paid-ebooks")
   *    @arg @c kGTLRBooksFilterPartial Public able to see parts of text. (Value:
   *        "partial")
   */
  @property(nonatomic, copy, nullable) NSString *filter;
  
  /** Restrict results to books with this language code. */
  @property(nonatomic, copy, nullable) NSString *langRestrict;
  
  /**
   *  Restrict search to this user's library.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksLibraryRestrictMyLibrary Restrict to the user's library,
   *        any shelf. (Value: "my-library")
   *    @arg @c kGTLRBooksLibraryRestrictNoRestrict Do not restrict based on
   *        user's library. (Value: "no-restrict")
   */
  @property(nonatomic, copy, nullable) NSString *libraryRestrict;
  
  /**
   *  Maximum number of results to return.
   *
   *  @note The documented range is 0..40.
   */
  @property(nonatomic, assign) NSUInteger maxResults;
  
  /**
   *  Sort search results.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksOrderByNewest Most recently published. (Value: "newest")
   *    @arg @c kGTLRBooksOrderByRelevance Relevance to search terms. (Value:
   *        "relevance")
   */
  @property(nonatomic, copy, nullable) NSString *orderBy;
  
  /** Restrict and brand results for partner ID. */
  @property(nonatomic, copy, nullable) NSString *partner;
  
  /**
   *  Restrict to books or magazines.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksPrintTypeAll All volume content types. (Value: "all")
   *    @arg @c kGTLRBooksPrintTypeBooks Just books. (Value: "books")
   *    @arg @c kGTLRBooksPrintTypeMagazines Just magazines. (Value: "magazines")
   */
  @property(nonatomic, copy, nullable) NSString *printType;
  
  /**
   *  Restrict information returned to a set of selected fields.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksProjectionFull Includes all volume data. (Value: "full")
   *    @arg @c kGTLRBooksProjectionLite Includes a subset of fields in volumeInfo
   *        and accessInfo. (Value: "lite")
   */
  @property(nonatomic, copy, nullable) NSString *projection;
  
  /** Full-text search query string. */
  @property(nonatomic, copy, nullable) NSString *q;
  
  /** Set to true to show books available for preorder. Defaults to false. */
  @property(nonatomic, assign) BOOL showPreorders;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** Index of the first result to return (starts at 0) */
  @property(nonatomic, assign) NSUInteger startIndex;
  
  /**
   *  Fetches a @c GTLRBooks_Volumes.
   *
   *  Performs a book search.
   *
   *  @param q Full-text search query string.
   *
   *  @returns GTLRBooksQuery_VolumesList
   */
  + (instancetype)queryWithQ:(NSString *)q;
  
  @end
  
  /**
   *  Return a list of books in My Library.
   *
   *  Method: books.volumes.mybooks.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_VolumesMybooksList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForVolumesMybooksList]
  
  /**
   *  How the book was acquired
   *
   *  Likely values:
   *    @arg @c kGTLRBooksAcquireMethodFamilyShared Books acquired via Family
   *        Sharing (Value: "FAMILY_SHARED")
   *    @arg @c kGTLRBooksAcquireMethodPreordered Preordered books (not yet
   *        available) (Value: "PREORDERED")
   *    @arg @c kGTLRBooksAcquireMethodPreviouslyRented User-rented books past
   *        their expiration time (Value: "PREVIOUSLY_RENTED")
   *    @arg @c kGTLRBooksAcquireMethodPublicDomain Public domain books (Value:
   *        "PUBLIC_DOMAIN")
   *    @arg @c kGTLRBooksAcquireMethodPurchased Purchased books (Value:
   *        "PURCHASED")
   *    @arg @c kGTLRBooksAcquireMethodRented User-rented books (Value: "RENTED")
   *    @arg @c kGTLRBooksAcquireMethodSample Sample books (Value: "SAMPLE")
   *    @arg @c kGTLRBooksAcquireMethodUploaded User uploaded books (Value:
   *        "UPLOADED")
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *acquireMethod;
  
  /** ISO-3166-1 code to override the IP-based location. */
  @property(nonatomic, copy, nullable) NSString *country;
  
  /**
   *  ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for
   *  generating recommendations.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /**
   *  Maximum number of results to return.
   *
   *  @note The documented range is 0..100.
   */
  @property(nonatomic, assign) NSUInteger maxResults;
  
  /**
   *  The processing state of the user uploaded volumes to be returned. Applicable
   *  only if the UPLOADED is specified in the acquireMethod.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksProcessingStateCompletedFailed The volume processing
   *        hase failed. (Value: "COMPLETED_FAILED")
   *    @arg @c kGTLRBooksProcessingStateCompletedSuccess The volume processing
   *        was completed. (Value: "COMPLETED_SUCCESS")
   *    @arg @c kGTLRBooksProcessingStateRunning The volume processing is not
   *        completed. (Value: "RUNNING")
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *processingState;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** Index of the first result to return (starts at 0) */
  @property(nonatomic, assign) NSUInteger startIndex;
  
  /**
   *  Fetches a @c GTLRBooks_Volumes.
   *
   *  Return a list of books in My Library.
   *
   *  @returns GTLRBooksQuery_VolumesMybooksList
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Return a list of recommended books for the current user.
   *
   *  Method: books.volumes.recommended.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_VolumesRecommendedList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForVolumesRecommendedList]
  
  /**
   *  ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for
   *  generating recommendations.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /**
   *  The maximum allowed maturity rating of returned recommendations. Books with
   *  a higher maturity rating are filtered out.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksMaxAllowedMaturityRatingMature Show books which are
   *        rated mature or lower. (Value: "mature")
   *    @arg @c kGTLRBooksMaxAllowedMaturityRatingNotMature Show books which are
   *        rated not mature. (Value: "not-mature")
   */
  @property(nonatomic, copy, nullable) NSString *maxAllowedMaturityRating;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /**
   *  Fetches a @c GTLRBooks_Volumes.
   *
   *  Return a list of recommended books for the current user.
   *
   *  @returns GTLRBooksQuery_VolumesRecommendedList
   */
  + (instancetype)query;
  
  @end
  
  /**
   *  Rate a recommended book for the current user.
   *
   *  Method: books.volumes.recommended.rate
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_VolumesRecommendedRate : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForVolumesRecommendedRateWithrating:volumeId:]
  
  /**
   *  ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for
   *  generating recommendations.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /**
   *  Rating to be given to the volume.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksRatingHaveIt Rating indicating a dismissal due to
   *        ownership. (Value: "HAVE_IT")
   *    @arg @c kGTLRBooksRatingNotInterested Rating indicating a negative
   *        dismissal of a volume. (Value: "NOT_INTERESTED")
   */
  @property(nonatomic, copy, nullable) NSString *rating;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** ID of the source volume. */
  @property(nonatomic, copy, nullable) NSString *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_VolumesRecommendedRateResponse.
   *
   *  Rate a recommended book for the current user.
   *
   *  @param rating Rating to be given to the volume.
   *  @param volumeId ID of the source volume.
   *
   *  Likely values for @c rating:
   *    @arg @c kGTLRBooksRatingHaveIt Rating indicating a dismissal due to
   *        ownership. (Value: "HAVE_IT")
   *    @arg @c kGTLRBooksRatingNotInterested Rating indicating a negative
   *        dismissal of a volume. (Value: "NOT_INTERESTED")
   *
   *  @returns GTLRBooksQuery_VolumesRecommendedRate
   */
  + (instancetype)queryWithRating:(NSString *)rating
                         volumeId:(NSString *)volumeId;
  
  @end
  
  /**
   *  Return a list of books uploaded by the current user.
   *
   *  Method: books.volumes.useruploaded.list
   *
   *  Authorization scope(s):
   *    @c kGTLRAuthScopeBooks
   */
  @interface GTLRBooksQuery_VolumesUseruploadedList : GTLRBooksQuery
  // Previous library name was
  //   +[GTLQueryBooks queryForVolumesUseruploadedList]
  
  /**
   *  ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for
   *  generating recommendations.
   */
  @property(nonatomic, copy, nullable) NSString *locale;
  
  /**
   *  Maximum number of results to return.
   *
   *  @note The documented range is 0..40.
   */
  @property(nonatomic, assign) NSUInteger maxResults;
  
  /**
   *  The processing state of the user uploaded volumes to be returned.
   *
   *  Likely values:
   *    @arg @c kGTLRBooksProcessingStateCompletedFailed The volume processing
   *        hase failed. (Value: "COMPLETED_FAILED")
   *    @arg @c kGTLRBooksProcessingStateCompletedSuccess The volume processing
   *        was completed. (Value: "COMPLETED_SUCCESS")
   *    @arg @c kGTLRBooksProcessingStateRunning The volume processing is not
   *        completed. (Value: "RUNNING")
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *processingState;
  
  /** String to identify the originator of this request. */
  @property(nonatomic, copy, nullable) NSString *source;
  
  /** Index of the first result to return (starts at 0) */
  @property(nonatomic, assign) NSUInteger startIndex;
  
  /**
   *  The ids of the volumes to be returned. If not specified all that match the
   *  processingState are returned.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *volumeId;
  
  /**
   *  Fetches a @c GTLRBooks_Volumes.
   *
   *  Return a list of books uploaded by the current user.
   *
   *  @returns GTLRBooksQuery_VolumesUseruploadedList
   */
  + (instancetype)query;
  
  @end
  
  NS_ASSUME_NONNULL_END
  