# Path: google/cloud/datalabeling_v1beta1/types/annotation.py
# class AnnotationSource(proto.Enum):
# class AnnotationSentiment(proto.Enum):
# class AnnotationType(proto.Enum):
# class Annotation(proto.Message):
# class AnnotationValue(proto.Message):
# class ImageClassificationAnnotation(proto.Message):
# class Vertex(proto.Message):
# class NormalizedVertex(proto.Message):
# class BoundingPoly(proto.Message):
# class NormalizedBoundingPoly(proto.Message):
# class ImageBoundingPolyAnnotation(proto.Message):
# class Polyline(proto.Message):
# class NormalizedPolyline(proto.Message):
# class ImagePolylineAnnotation(proto.Message):
# class ImageSegmentationAnnotation(proto.Message):
# class TextClassificationAnnotation(proto.Message):
# class TextEntityExtractionAnnotation(proto.Message):
# class SequentialSegment(proto.Message):
# class TimeSegment(proto.Message):
# class VideoClassificationAnnotation(proto.Message):
# class ObjectTrackingFrame(proto.Message):
# class VideoObjectTrackingAnnotation(proto.Message):
# class VideoEventAnnotation(proto.Message):
# class AnnotationMetadata(proto.Message):
# class OperatorMetadata(proto.Message):
#     ANNOTATION_SOURCE_UNSPECIFIED = 0
#     OPERATOR = 3
#     ANNOTATION_SENTIMENT_UNSPECIFIED = 0
#     NEGATIVE = 1
#     POSITIVE = 2
#     ANNOTATION_TYPE_UNSPECIFIED = 0
#     IMAGE_CLASSIFICATION_ANNOTATION = 1
#     IMAGE_BOUNDING_BOX_ANNOTATION = 2
#     IMAGE_ORIENTED_BOUNDING_BOX_ANNOTATION = 13
#     IMAGE_BOUNDING_POLY_ANNOTATION = 10
#     IMAGE_POLYLINE_ANNOTATION = 11
#     IMAGE_SEGMENTATION_ANNOTATION = 12
#     VIDEO_SHOTS_CLASSIFICATION_ANNOTATION = 3
#     VIDEO_OBJECT_TRACKING_ANNOTATION = 4
#     VIDEO_OBJECT_DETECTION_ANNOTATION = 5
#     VIDEO_EVENT_ANNOTATION = 6
#     TEXT_CLASSIFICATION_ANNOTATION = 8
#     TEXT_ENTITY_EXTRACTION_ANNOTATION = 9
#     GENERAL_CLASSIFICATION_ANNOTATION = 14
# 
# Path: google/cloud/datalabeling_v1beta1/types/annotation_spec_set.py
# class AnnotationSpecSet(proto.Message):
# class AnnotationSpec(proto.Message):


import proto  # type: ignore
from google.cloud.datalabeling_v1beta1.types import annotation
from google.cloud.datalabeling_v1beta1.types import annotation_spec_set
from google.protobuf import timestamp_pb2  # type: ignore
        r"""

        Attributes:
            annotation_spec (google.cloud.datalabeling_v1beta1.types.AnnotationSpec):
                The annotation spec of a predicted label.
            item_count (int):
                Number of items predicted to have this label. (The ground
                truth label for these items is the ``Row.annotationSpec`` of
                this entry's parent.)
        """

        annotation_spec = proto.Field(
            proto.MESSAGE, number=1, message=annotation_spec_set.AnnotationSpec,
        )
        item_count = proto.Field(proto.INT32, number=2,)

    class Row(proto.Message):
        r"""A row in the confusion matrix. Each entry in this row has the
        same ground truth label.

        Attributes:
            annotation_spec (google.cloud.datalabeling_v1beta1.types.AnnotationSpec):
                The annotation spec of the ground truth label
                for this row.
            entries (Sequence[google.cloud.datalabeling_v1beta1.types.ConfusionMatrix.ConfusionMatrixEntry]):
                A list of the confusion matrix entries. One
                entry for each possible predicted label.
        """

        annotation_spec = proto.Field(

# Path: google/cloud/datalabeling_v1beta1/types/annotation.py
# class AnnotationSource(proto.Enum):
# class AnnotationSentiment(proto.Enum):
# class AnnotationType(proto.Enum):
# class Annotation(proto.Message):
# class AnnotationValue(proto.Message):
# class ImageClassificationAnnotation(proto.Message):
# class Vertex(proto.Message):
# class NormalizedVertex(proto.Message):
# class BoundingPoly(proto.Message):
# class NormalizedBoundingPoly(proto.Message):
# class ImageBoundingPolyAnnotation(proto.Message):
# class Polyline(proto.Message):
# class NormalizedPolyline(proto.Message):
# class ImagePolylineAnnotation(proto.Message):
# class ImageSegmentationAnnotation(proto.Message):
# class TextClassificationAnnotation(proto.Message):
# class TextEntityExtractionAnnotation(proto.Message):
# class SequentialSegment(proto.Message):
# class TimeSegment(proto.Message):
# class VideoClassificationAnnotation(proto.Message):
# class ObjectTrackingFrame(proto.Message):
# class VideoObjectTrackingAnnotation(proto.Message):
# class VideoEventAnnotation(proto.Message):
# class AnnotationMetadata(proto.Message):
# class OperatorMetadata(proto.Message):
#     ANNOTATION_SOURCE_UNSPECIFIED = 0
#     OPERATOR = 3
#     ANNOTATION_SENTIMENT_UNSPECIFIED = 0
#     NEGATIVE = 1
#     POSITIVE = 2
#     ANNOTATION_TYPE_UNSPECIFIED = 0
#     IMAGE_CLASSIFICATION_ANNOTATION = 1
#     IMAGE_BOUNDING_BOX_ANNOTATION = 2
#     IMAGE_ORIENTED_BOUNDING_BOX_ANNOTATION = 13
#     IMAGE_BOUNDING_POLY_ANNOTATION = 10
#     IMAGE_POLYLINE_ANNOTATION = 11
#     IMAGE_SEGMENTATION_ANNOTATION = 12
#     VIDEO_SHOTS_CLASSIFICATION_ANNOTATION = 3
#     VIDEO_OBJECT_TRACKING_ANNOTATION = 4
#     VIDEO_OBJECT_DETECTION_ANNOTATION = 5
#     VIDEO_EVENT_ANNOTATION = 6
#     TEXT_CLASSIFICATION_ANNOTATION = 8
#     TEXT_ENTITY_EXTRACTION_ANNOTATION = 9
#     GENERAL_CLASSIFICATION_ANNOTATION = 14
# 
# Path: google/cloud/datalabeling_v1beta1/types/annotation_spec_set.py
# class AnnotationSpecSet(proto.Message):
# class AnnotationSpec(proto.Message):


# Path: google/cloud/datalabeling_v1beta1/types/evaluation.py
import proto  # type: ignore
from google.cloud.datalabeling_v1beta1.types import annotation
from google.cloud.datalabeling_v1beta1.types import annotation_spec_set
from google.protobuf import timestamp_pb2  # type: ignore

        r"""

        Attributes:
            annotation_spec (google.cloud.datalabeling_v1beta1.types.AnnotationSpec):
                The annotation spec of a predicted label.
            item_count (int):
                Number of items predicted to have this label. (The ground
                truth label for these items is the ``Row.annotationSpec`` of
                this entry's parent.)
        """

        annotation_spec = proto.Field(
            proto.MESSAGE, number=1, message=annotation_spec_set.AnnotationSpec,
        )
        item_count = proto.Field(proto.INT32, number=2,)

    class Row(proto.Message):
        r"""A row in the confusion matrix. Each entry in this row has the
        same ground truth label.

        Attributes:
            annotation_spec (google.cloud.datalabeling_v1beta1.types.AnnotationSpec):
                The annotation spec of the ground truth label
                for this row.
            entries (Sequence[google.cloud.datalabeling_v1beta1.types.ConfusionMatrix.ConfusionMatrixEntry]):
                A list of the confusion matrix entries. One
                entry for each possible predicted label.
        """

        annotation_spec = proto.Field(

            proto.MESSAGE, number=1, message=annotation_spec_set.AnnotationSpec,