// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/ads/googleads/v14/resources/audience.proto

package com.google.ads.googleads.v14.resources;

public interface AudienceOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.ads.googleads.v14.resources.Audience)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * Immutable. The resource name of the audience.
   * Audience names have the form:
   *
   * `customers/{customer_id}/audiences/{audience_id}`
   * </pre>
   *
   * <code>string resource_name = 1 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... }</code>
   * @return The resourceName.
   */
  java.lang.String getResourceName();
  /**
   * <pre>
   * Immutable. The resource name of the audience.
   * Audience names have the form:
   *
   * `customers/{customer_id}/audiences/{audience_id}`
   * </pre>
   *
   * <code>string resource_name = 1 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... }</code>
   * @return The bytes for resourceName.
   */
  com.google.protobuf.ByteString
      getResourceNameBytes();

  /**
   * <pre>
   * Output only. ID of the audience.
   * </pre>
   *
   * <code>int64 id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return The id.
   */
  long getId();

  /**
   * <pre>
   * Output only. Status of this audience. Indicates whether the audience
   * is enabled or removed.
   * </pre>
   *
   * <code>.google.ads.googleads.v14.enums.AudienceStatusEnum.AudienceStatus status = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return The enum numeric value on the wire for status.
   */
  int getStatusValue();
  /**
   * <pre>
   * Output only. Status of this audience. Indicates whether the audience
   * is enabled or removed.
   * </pre>
   *
   * <code>.google.ads.googleads.v14.enums.AudienceStatusEnum.AudienceStatus status = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return The status.
   */
  com.google.ads.googleads.v14.enums.AudienceStatusEnum.AudienceStatus getStatus();

  /**
   * <pre>
   * Required. Name of the audience. It should be unique across all
   * audiences. It must have a minimum length of 1 and
   * maximum length of 255.
   * </pre>
   *
   * <code>string name = 4 [(.google.api.field_behavior) = REQUIRED];</code>
   * @return The name.
   */
  java.lang.String getName();
  /**
   * <pre>
   * Required. Name of the audience. It should be unique across all
   * audiences. It must have a minimum length of 1 and
   * maximum length of 255.
   * </pre>
   *
   * <code>string name = 4 [(.google.api.field_behavior) = REQUIRED];</code>
   * @return The bytes for name.
   */
  com.google.protobuf.ByteString
      getNameBytes();

  /**
   * <pre>
   * Description of this audience.
   * </pre>
   *
   * <code>string description = 5;</code>
   * @return The description.
   */
  java.lang.String getDescription();
  /**
   * <pre>
   * Description of this audience.
   * </pre>
   *
   * <code>string description = 5;</code>
   * @return The bytes for description.
   */
  com.google.protobuf.ByteString
      getDescriptionBytes();

  /**
   * <pre>
   * Positive dimensions specifying the audience composition.
   * </pre>
   *
   * <code>repeated .google.ads.googleads.v14.common.AudienceDimension dimensions = 6;</code>
   */
  java.util.List<com.google.ads.googleads.v14.common.AudienceDimension> 
      getDimensionsList();
  /**
   * <pre>
   * Positive dimensions specifying the audience composition.
   * </pre>
   *
   * <code>repeated .google.ads.googleads.v14.common.AudienceDimension dimensions = 6;</code>
   */
  com.google.ads.googleads.v14.common.AudienceDimension getDimensions(int index);
  /**
   * <pre>
   * Positive dimensions specifying the audience composition.
   * </pre>
   *
   * <code>repeated .google.ads.googleads.v14.common.AudienceDimension dimensions = 6;</code>
   */
  int getDimensionsCount();
  /**
   * <pre>
   * Positive dimensions specifying the audience composition.
   * </pre>
   *
   * <code>repeated .google.ads.googleads.v14.common.AudienceDimension dimensions = 6;</code>
   */
  java.util.List<? extends com.google.ads.googleads.v14.common.AudienceDimensionOrBuilder> 
      getDimensionsOrBuilderList();
  /**
   * <pre>
   * Positive dimensions specifying the audience composition.
   * </pre>
   *
   * <code>repeated .google.ads.googleads.v14.common.AudienceDimension dimensions = 6;</code>
   */
  com.google.ads.googleads.v14.common.AudienceDimensionOrBuilder getDimensionsOrBuilder(
      int index);

  /**
   * <pre>
   * Negative dimension specifying the audience composition.
   * </pre>
   *
   * <code>.google.ads.googleads.v14.common.AudienceExclusionDimension exclusion_dimension = 7;</code>
   * @return Whether the exclusionDimension field is set.
   */
  boolean hasExclusionDimension();
  /**
   * <pre>
   * Negative dimension specifying the audience composition.
   * </pre>
   *
   * <code>.google.ads.googleads.v14.common.AudienceExclusionDimension exclusion_dimension = 7;</code>
   * @return The exclusionDimension.
   */
  com.google.ads.googleads.v14.common.AudienceExclusionDimension getExclusionDimension();
  /**
   * <pre>
   * Negative dimension specifying the audience composition.
   * </pre>
   *
   * <code>.google.ads.googleads.v14.common.AudienceExclusionDimension exclusion_dimension = 7;</code>
   */
  com.google.ads.googleads.v14.common.AudienceExclusionDimensionOrBuilder getExclusionDimensionOrBuilder();
}
