// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/datalabeling/v1beta1/annotation.proto

package com.google.cloud.datalabeling.v1beta1;

public interface AnnotationValueOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.cloud.datalabeling.v1beta1.AnnotationValue)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * Annotation value for image classification case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.ImageClassificationAnnotation image_classification_annotation = 1;
   * </code>
   */
  boolean hasImageClassificationAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for image classification case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.ImageClassificationAnnotation image_classification_annotation = 1;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.ImageClassificationAnnotation
      getImageClassificationAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for image classification case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.ImageClassificationAnnotation image_classification_annotation = 1;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.ImageClassificationAnnotationOrBuilder
      getImageClassificationAnnotationOrBuilder();

  /**
   *
   *
   * <pre>
   * Annotation value for image bounding box, oriented bounding box
   * and polygon cases.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.ImageBoundingPolyAnnotation image_bounding_poly_annotation = 2;
   * </code>
   */
  boolean hasImageBoundingPolyAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for image bounding box, oriented bounding box
   * and polygon cases.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.ImageBoundingPolyAnnotation image_bounding_poly_annotation = 2;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.ImageBoundingPolyAnnotation
      getImageBoundingPolyAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for image bounding box, oriented bounding box
   * and polygon cases.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.ImageBoundingPolyAnnotation image_bounding_poly_annotation = 2;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.ImageBoundingPolyAnnotationOrBuilder
      getImageBoundingPolyAnnotationOrBuilder();

  /**
   *
   *
   * <pre>
   * Annotation value for image polyline cases.
   * Polyline here is different from BoundingPoly. It is formed by
   * line segments connected to each other but not closed form(Bounding Poly).
   * The line segments can cross each other.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.ImagePolylineAnnotation image_polyline_annotation = 8;
   * </code>
   */
  boolean hasImagePolylineAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for image polyline cases.
   * Polyline here is different from BoundingPoly. It is formed by
   * line segments connected to each other but not closed form(Bounding Poly).
   * The line segments can cross each other.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.ImagePolylineAnnotation image_polyline_annotation = 8;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.ImagePolylineAnnotation getImagePolylineAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for image polyline cases.
   * Polyline here is different from BoundingPoly. It is formed by
   * line segments connected to each other but not closed form(Bounding Poly).
   * The line segments can cross each other.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.ImagePolylineAnnotation image_polyline_annotation = 8;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.ImagePolylineAnnotationOrBuilder
      getImagePolylineAnnotationOrBuilder();

  /**
   *
   *
   * <pre>
   * Annotation value for image segmentation.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.ImageSegmentationAnnotation image_segmentation_annotation = 9;
   * </code>
   */
  boolean hasImageSegmentationAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for image segmentation.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.ImageSegmentationAnnotation image_segmentation_annotation = 9;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.ImageSegmentationAnnotation
      getImageSegmentationAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for image segmentation.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.ImageSegmentationAnnotation image_segmentation_annotation = 9;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.ImageSegmentationAnnotationOrBuilder
      getImageSegmentationAnnotationOrBuilder();

  /**
   *
   *
   * <pre>
   * Annotation value for text classification case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.TextClassificationAnnotation text_classification_annotation = 3;
   * </code>
   */
  boolean hasTextClassificationAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for text classification case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.TextClassificationAnnotation text_classification_annotation = 3;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.TextClassificationAnnotation
      getTextClassificationAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for text classification case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.TextClassificationAnnotation text_classification_annotation = 3;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.TextClassificationAnnotationOrBuilder
      getTextClassificationAnnotationOrBuilder();

  /**
   *
   *
   * <pre>
   * Annotation value for video classification case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.VideoClassificationAnnotation video_classification_annotation = 4;
   * </code>
   */
  boolean hasVideoClassificationAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for video classification case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.VideoClassificationAnnotation video_classification_annotation = 4;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.VideoClassificationAnnotation
      getVideoClassificationAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for video classification case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.VideoClassificationAnnotation video_classification_annotation = 4;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.VideoClassificationAnnotationOrBuilder
      getVideoClassificationAnnotationOrBuilder();

  /**
   *
   *
   * <pre>
   * Annotation value for video object detection and tracking case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.VideoObjectTrackingAnnotation video_object_tracking_annotation = 5;
   * </code>
   */
  boolean hasVideoObjectTrackingAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for video object detection and tracking case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.VideoObjectTrackingAnnotation video_object_tracking_annotation = 5;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.VideoObjectTrackingAnnotation
      getVideoObjectTrackingAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for video object detection and tracking case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.VideoObjectTrackingAnnotation video_object_tracking_annotation = 5;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.VideoObjectTrackingAnnotationOrBuilder
      getVideoObjectTrackingAnnotationOrBuilder();

  /**
   *
   *
   * <pre>
   * Annotation value for video event case.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.VideoEventAnnotation video_event_annotation = 6;
   * </code>
   */
  boolean hasVideoEventAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for video event case.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.VideoEventAnnotation video_event_annotation = 6;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.VideoEventAnnotation getVideoEventAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for video event case.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.VideoEventAnnotation video_event_annotation = 6;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.VideoEventAnnotationOrBuilder
      getVideoEventAnnotationOrBuilder();

  /**
   *
   *
   * <pre>
   * Annotation value for speech audio recognition case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.AudioRecognitionAnnotation audio_recognition_annotation = 7;
   * </code>
   */
  boolean hasAudioRecognitionAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for speech audio recognition case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.AudioRecognitionAnnotation audio_recognition_annotation = 7;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.AudioRecognitionAnnotation getAudioRecognitionAnnotation();
  /**
   *
   *
   * <pre>
   * Annotation value for speech audio recognition case.
   * </pre>
   *
   * <code>
   * .google.cloud.datalabeling.v1beta1.AudioRecognitionAnnotation audio_recognition_annotation = 7;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.AudioRecognitionAnnotationOrBuilder
      getAudioRecognitionAnnotationOrBuilder();

  public com.google.cloud.datalabeling.v1beta1.AnnotationValue.ValueTypeCase getValueTypeCase();
}
