# Path: google/cloud/datalabeling_v1beta1/types/dataset.py
# class DataType(proto.Enum):
# class Dataset(proto.Message):
# class InputConfig(proto.Message):
# class TextMetadata(proto.Message):
# class ClassificationMetadata(proto.Message):
# class GcsSource(proto.Message):
# class BigQuerySource(proto.Message):
# class OutputConfig(proto.Message):
# class GcsDestination(proto.Message):
# class GcsFolderDestination(proto.Message):
# class DataItem(proto.Message):
# class AnnotatedDataset(proto.Message):
# class LabelStats(proto.Message):
# class AnnotatedDatasetMetadata(proto.Message):
# class Example(proto.Message):
#     DATA_TYPE_UNSPECIFIED = 0
#     IMAGE = 1
#     VIDEO = 2
#     TEXT = 4
#     GENERAL_DATA = 6
# 
# Path: google/cloud/datalabeling_v1beta1/types/evaluation.py
# class Evaluation(proto.Message):
# class EvaluationConfig(proto.Message):
# class BoundingBoxEvaluationOptions(proto.Message):
# class EvaluationMetrics(proto.Message):
# class ClassificationMetrics(proto.Message):
# class ObjectDetectionMetrics(proto.Message):
# class PrCurve(proto.Message):
#     class ConfidenceMetricsEntry(proto.Message):
# class ConfusionMatrix(proto.Message):
#     class ConfusionMatrixEntry(proto.Message):
#     class Row(proto.Message):
# 
# Path: google/cloud/datalabeling_v1beta1/types/human_annotation_config.py
# class StringAggregationType(proto.Enum):
# class HumanAnnotationConfig(proto.Message):
# class ImageClassificationConfig(proto.Message):
# class BoundingPolyConfig(proto.Message):
# class PolylineConfig(proto.Message):
# class SegmentationConfig(proto.Message):
# class VideoClassificationConfig(proto.Message):
#     class AnnotationSpecSetConfig(proto.Message):
# class ObjectDetectionConfig(proto.Message):
# class ObjectTrackingConfig(proto.Message):
# class EventConfig(proto.Message):
# class TextClassificationConfig(proto.Message):
# class SentimentConfig(proto.Message):
# class TextEntityExtractionConfig(proto.Message):
#     STRING_AGGREGATION_TYPE_UNSPECIFIED = 0
#     MAJORITY_VOTE = 1
#     UNANIMOUS_VOTE = 2
#     NO_AGGREGATION = 3


import proto  # type: ignore
from google.cloud.datalabeling_v1beta1.types import dataset
from google.cloud.datalabeling_v1beta1.types import evaluation
from google.cloud.datalabeling_v1beta1.types import (
    human_annotation_config as gcd_human_annotation_config,
)
from google.protobuf import timestamp_pb2  # type: ignore
from google.rpc import status_pb2  # type: ignore
            Note that you must create an
            [Instruction][google.cloud.datalabeling.v1beta1.Instruction]
            resource before you can specify this field. Provide the name
            of the instruction resource in the ``instruction`` field
            within this configuration.
        bigquery_import_keys (Sequence[google.cloud.datalabeling_v1beta1.types.EvaluationJobConfig.BigqueryImportKeysEntry]):
            Required. Prediction keys that tell Data Labeling Service
            where to find the data for evaluation in your BigQuery
            table. When the service samples prediction input and output
            from your model version and saves it to BigQuery, the data
            gets stored as JSON strings in the BigQuery table. These
            keys tell Data Labeling Service how to parse the JSON.

            You can provide the following entries in this field:

            -  ``data_json_key``: the data key for prediction input. You
               must provide either this key or ``reference_json_key``.
            -  ``reference_json_key``: the data reference key for
               prediction input. You must provide either this key or
               ``data_json_key``.
            -  ``label_json_key``: the label key for prediction output.
               Required.
            -  ``label_score_json_key``: the score key for prediction
               output. Required.
            -  ``bounding_box_json_key``: the bounding box key for
               prediction output. Required if your model version perform
               image object detection.

            Learn `how to configure prediction
            keys </ml-engine/docs/continuous-evaluation/create-job#prediction-keys>`__.

# Path: google/cloud/datalabeling_v1beta1/types/dataset.py
# class DataType(proto.Enum):
# class Dataset(proto.Message):
# class InputConfig(proto.Message):
# class TextMetadata(proto.Message):
# class ClassificationMetadata(proto.Message):
# class GcsSource(proto.Message):
# class BigQuerySource(proto.Message):
# class OutputConfig(proto.Message):
# class GcsDestination(proto.Message):
# class GcsFolderDestination(proto.Message):
# class DataItem(proto.Message):
# class AnnotatedDataset(proto.Message):
# class LabelStats(proto.Message):
# class AnnotatedDatasetMetadata(proto.Message):
# class Example(proto.Message):
#     DATA_TYPE_UNSPECIFIED = 0
#     IMAGE = 1
#     VIDEO = 2
#     TEXT = 4
#     GENERAL_DATA = 6
# 
# Path: google/cloud/datalabeling_v1beta1/types/evaluation.py
# class Evaluation(proto.Message):
# class EvaluationConfig(proto.Message):
# class BoundingBoxEvaluationOptions(proto.Message):
# class EvaluationMetrics(proto.Message):
# class ClassificationMetrics(proto.Message):
# class ObjectDetectionMetrics(proto.Message):
# class PrCurve(proto.Message):
#     class ConfidenceMetricsEntry(proto.Message):
# class ConfusionMatrix(proto.Message):
#     class ConfusionMatrixEntry(proto.Message):
#     class Row(proto.Message):
# 
# Path: google/cloud/datalabeling_v1beta1/types/human_annotation_config.py
# class StringAggregationType(proto.Enum):
# class HumanAnnotationConfig(proto.Message):
# class ImageClassificationConfig(proto.Message):
# class BoundingPolyConfig(proto.Message):
# class PolylineConfig(proto.Message):
# class SegmentationConfig(proto.Message):
# class VideoClassificationConfig(proto.Message):
#     class AnnotationSpecSetConfig(proto.Message):
# class ObjectDetectionConfig(proto.Message):
# class ObjectTrackingConfig(proto.Message):
# class EventConfig(proto.Message):
# class TextClassificationConfig(proto.Message):
# class SentimentConfig(proto.Message):
# class TextEntityExtractionConfig(proto.Message):
#     STRING_AGGREGATION_TYPE_UNSPECIFIED = 0
#     MAJORITY_VOTE = 1
#     UNANIMOUS_VOTE = 2
#     NO_AGGREGATION = 3


# Path: google/cloud/datalabeling_v1beta1/types/evaluation_job.py
import proto  # type: ignore
from google.cloud.datalabeling_v1beta1.types import dataset
from google.cloud.datalabeling_v1beta1.types import evaluation
from google.cloud.datalabeling_v1beta1.types import (
    human_annotation_config as gcd_human_annotation_config,
)
from google.protobuf import timestamp_pb2  # type: ignore
from google.rpc import status_pb2  # type: ignore

            Note that you must create an
            [Instruction][google.cloud.datalabeling.v1beta1.Instruction]
            resource before you can specify this field. Provide the name
            of the instruction resource in the ``instruction`` field
            within this configuration.
        bigquery_import_keys (Sequence[google.cloud.datalabeling_v1beta1.types.EvaluationJobConfig.BigqueryImportKeysEntry]):
            Required. Prediction keys that tell Data Labeling Service
            where to find the data for evaluation in your BigQuery
            table. When the service samples prediction input and output
            from your model version and saves it to BigQuery, the data
            gets stored as JSON strings in the BigQuery table. These
            keys tell Data Labeling Service how to parse the JSON.

            You can provide the following entries in this field:

            -  ``data_json_key``: the data key for prediction input. You
               must provide either this key or ``reference_json_key``.
            -  ``reference_json_key``: the data reference key for
               prediction input. You must provide either this key or
               ``data_json_key``.
            -  ``label_json_key``: the label key for prediction output.
               Required.
            -  ``label_score_json_key``: the score key for prediction
               output. Required.
            -  ``bounding_box_json_key``: the bounding box key for
               prediction output. Required if your model version perform
               image object detection.

            Learn `how to configure prediction
            keys </ml-engine/docs/continuous-evaluation/create-job#prediction-keys>`__.

        example_count (int):