// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/photos/types/album.proto

package com.google.photos.types.proto;

public interface AlbumOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.photos.types.Album)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * Identifier for the album. This is a persistent identifier that
   * can be used between sessions to identify this album.
   * </pre>
   *
   * <code>string id = 1;</code>
   *
   * @return The id.
   */
  java.lang.String getId();
  /**
   *
   *
   * <pre>
   * Identifier for the album. This is a persistent identifier that
   * can be used between sessions to identify this album.
   * </pre>
   *
   * <code>string id = 1;</code>
   *
   * @return The bytes for id.
   */
  com.google.protobuf.ByteString getIdBytes();

  /**
   *
   *
   * <pre>
   * Name of the album displayed to the user in their Google Photos account.
   * This string shouldn't be more than 500 characters.
   * </pre>
   *
   * <code>string title = 2;</code>
   *
   * @return The title.
   */
  java.lang.String getTitle();
  /**
   *
   *
   * <pre>
   * Name of the album displayed to the user in their Google Photos account.
   * This string shouldn't be more than 500 characters.
   * </pre>
   *
   * <code>string title = 2;</code>
   *
   * @return The bytes for title.
   */
  com.google.protobuf.ByteString getTitleBytes();

  /**
   *
   *
   * <pre>
   * [Output only] Google Photos URL for the album. The user needs to be signed
   * in to their Google Photos account to access this link.
   * </pre>
   *
   * <code>string product_url = 3;</code>
   *
   * @return The productUrl.
   */
  java.lang.String getProductUrl();
  /**
   *
   *
   * <pre>
   * [Output only] Google Photos URL for the album. The user needs to be signed
   * in to their Google Photos account to access this link.
   * </pre>
   *
   * <code>string product_url = 3;</code>
   *
   * @return The bytes for productUrl.
   */
  com.google.protobuf.ByteString getProductUrlBytes();

  /**
   *
   *
   * <pre>
   * [Output only] True if you can create media items in this album.
   * This field is based on the scopes granted and permissions of the album. If
   * the scopes are changed or permissions of the album are changed, this field
   * is updated.
   * </pre>
   *
   * <code>bool is_writeable = 4;</code>
   *
   * @return The isWriteable.
   */
  boolean getIsWriteable();

  /**
   *
   *
   * <pre>
   * [Output only] Information related to shared albums.
   * This field is only populated if the album is a shared album, the
   * developer created the album and the user has granted the
   * `photoslibrary.sharing` scope.
   * </pre>
   *
   * <code>.google.photos.types.ShareInfo share_info = 5;</code>
   *
   * @return Whether the shareInfo field is set.
   */
  boolean hasShareInfo();
  /**
   *
   *
   * <pre>
   * [Output only] Information related to shared albums.
   * This field is only populated if the album is a shared album, the
   * developer created the album and the user has granted the
   * `photoslibrary.sharing` scope.
   * </pre>
   *
   * <code>.google.photos.types.ShareInfo share_info = 5;</code>
   *
   * @return The shareInfo.
   */
  com.google.photos.types.proto.ShareInfo getShareInfo();
  /**
   *
   *
   * <pre>
   * [Output only] Information related to shared albums.
   * This field is only populated if the album is a shared album, the
   * developer created the album and the user has granted the
   * `photoslibrary.sharing` scope.
   * </pre>
   *
   * <code>.google.photos.types.ShareInfo share_info = 5;</code>
   */
  com.google.photos.types.proto.ShareInfoOrBuilder getShareInfoOrBuilder();

  /**
   *
   *
   * <pre>
   * [Output only] The number of media items in the album.
   * </pre>
   *
   * <code>int64 media_items_count = 6;</code>
   *
   * @return The mediaItemsCount.
   */
  long getMediaItemsCount();

  /**
   *
   *
   * <pre>
   * [Output only] A URL to the cover photo's bytes. This shouldn't be used as
   * is. Parameters should be appended to this URL before use. See the
   * [developer
   * documentation](https://developers.google.com/photos/library/guides/access-media-items#base-urls)
   * for a complete list of supported parameters. For example,
   * `'=w2048-h1024'` sets the dimensions of the cover photo to have a width of
   * 2048 px and height of 1024 px.
   * </pre>
   *
   * <code>string cover_photo_base_url = 7;</code>
   *
   * @return The coverPhotoBaseUrl.
   */
  java.lang.String getCoverPhotoBaseUrl();
  /**
   *
   *
   * <pre>
   * [Output only] A URL to the cover photo's bytes. This shouldn't be used as
   * is. Parameters should be appended to this URL before use. See the
   * [developer
   * documentation](https://developers.google.com/photos/library/guides/access-media-items#base-urls)
   * for a complete list of supported parameters. For example,
   * `'=w2048-h1024'` sets the dimensions of the cover photo to have a width of
   * 2048 px and height of 1024 px.
   * </pre>
   *
   * <code>string cover_photo_base_url = 7;</code>
   *
   * @return The bytes for coverPhotoBaseUrl.
   */
  com.google.protobuf.ByteString getCoverPhotoBaseUrlBytes();

  /**
   *
   *
   * <pre>
   * Identifier for the media item associated with the cover photo.
   * </pre>
   *
   * <code>string cover_photo_media_item_id = 8;</code>
   *
   * @return The coverPhotoMediaItemId.
   */
  java.lang.String getCoverPhotoMediaItemId();
  /**
   *
   *
   * <pre>
   * Identifier for the media item associated with the cover photo.
   * </pre>
   *
   * <code>string cover_photo_media_item_id = 8;</code>
   *
   * @return The bytes for coverPhotoMediaItemId.
   */
  com.google.protobuf.ByteString getCoverPhotoMediaItemIdBytes();
}
