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

package com.google.cloud.datalabeling.v1beta1;

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

  /**
   *
   *
   * <pre>
   * Label of the object tracked in this annotation.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.AnnotationSpec annotation_spec = 1;</code>
   */
  boolean hasAnnotationSpec();
  /**
   *
   *
   * <pre>
   * Label of the object tracked in this annotation.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.AnnotationSpec annotation_spec = 1;</code>
   */
  com.google.cloud.datalabeling.v1beta1.AnnotationSpec getAnnotationSpec();
  /**
   *
   *
   * <pre>
   * Label of the object tracked in this annotation.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.AnnotationSpec annotation_spec = 1;</code>
   */
  com.google.cloud.datalabeling.v1beta1.AnnotationSpecOrBuilder getAnnotationSpecOrBuilder();

  /**
   *
   *
   * <pre>
   * The time segment of the video to which object tracking applies.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.TimeSegment time_segment = 2;</code>
   */
  boolean hasTimeSegment();
  /**
   *
   *
   * <pre>
   * The time segment of the video to which object tracking applies.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.TimeSegment time_segment = 2;</code>
   */
  com.google.cloud.datalabeling.v1beta1.TimeSegment getTimeSegment();
  /**
   *
   *
   * <pre>
   * The time segment of the video to which object tracking applies.
   * </pre>
   *
   * <code>.google.cloud.datalabeling.v1beta1.TimeSegment time_segment = 2;</code>
   */
  com.google.cloud.datalabeling.v1beta1.TimeSegmentOrBuilder getTimeSegmentOrBuilder();

  /**
   *
   *
   * <pre>
   * The list of frames where this object track appears.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.datalabeling.v1beta1.ObjectTrackingFrame object_tracking_frames = 3;
   * </code>
   */
  java.util.List<com.google.cloud.datalabeling.v1beta1.ObjectTrackingFrame>
      getObjectTrackingFramesList();
  /**
   *
   *
   * <pre>
   * The list of frames where this object track appears.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.datalabeling.v1beta1.ObjectTrackingFrame object_tracking_frames = 3;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.ObjectTrackingFrame getObjectTrackingFrames(int index);
  /**
   *
   *
   * <pre>
   * The list of frames where this object track appears.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.datalabeling.v1beta1.ObjectTrackingFrame object_tracking_frames = 3;
   * </code>
   */
  int getObjectTrackingFramesCount();
  /**
   *
   *
   * <pre>
   * The list of frames where this object track appears.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.datalabeling.v1beta1.ObjectTrackingFrame object_tracking_frames = 3;
   * </code>
   */
  java.util.List<? extends com.google.cloud.datalabeling.v1beta1.ObjectTrackingFrameOrBuilder>
      getObjectTrackingFramesOrBuilderList();
  /**
   *
   *
   * <pre>
   * The list of frames where this object track appears.
   * </pre>
   *
   * <code>
   * repeated .google.cloud.datalabeling.v1beta1.ObjectTrackingFrame object_tracking_frames = 3;
   * </code>
   */
  com.google.cloud.datalabeling.v1beta1.ObjectTrackingFrameOrBuilder
      getObjectTrackingFramesOrBuilder(int index);
}
