# Path: google/cloud/datalabeling_v1beta1/types/annotation_spec_set.py
# class AnnotationSpecSet(proto.Message):
# class AnnotationSpec(proto.Message):
# 
# 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/evaluation_job.py
# class EvaluationJob(proto.Message):
#     class State(proto.Enum):
# class EvaluationJobConfig(proto.Message):
# class EvaluationJobAlertConfig(proto.Message):
# class Attempt(proto.Message):
#         STATE_UNSPECIFIED = 0
#         SCHEDULED = 1
#         RUNNING = 2
#         PAUSED = 3
#         STOPPED = 4
# 
# 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/instruction.py
# class Instruction(proto.Message):
# class CsvInstruction(proto.Message):
# class PdfInstruction(proto.Message):


import proto  # type: ignore
from google.cloud.datalabeling_v1beta1.types import (
    annotation_spec_set as gcd_annotation_spec_set,
)
from google.cloud.datalabeling_v1beta1.types import dataset as gcd_dataset
from google.cloud.datalabeling_v1beta1.types import evaluation
from google.cloud.datalabeling_v1beta1.types import evaluation_job as gcd_evaluation_job
from google.cloud.datalabeling_v1beta1.types import human_annotation_config
from google.cloud.datalabeling_v1beta1.types import instruction as gcd_instruction
from google.protobuf import field_mask_pb2  # type: ignore
        FEATURE_UNSPECIFIED = 0
        CLASSIFICATION = 1
        BOUNDING_BOX = 2
        ORIENTED_BOUNDING_BOX = 6
        BOUNDING_POLY = 3
        POLYLINE = 4
        SEGMENTATION = 5

    image_classification_config = proto.Field(
        proto.MESSAGE,
        number=4,
        oneof="request_config",
        message=human_annotation_config.ImageClassificationConfig,
    )
    bounding_poly_config = proto.Field(
        proto.MESSAGE,
        number=5,
        oneof="request_config",
        message=human_annotation_config.BoundingPolyConfig,
    )
    polyline_config = proto.Field(
        proto.MESSAGE,
        number=6,
        oneof="request_config",
        message=human_annotation_config.PolylineConfig,
    )
    segmentation_config = proto.Field(
        proto.MESSAGE,
        number=7,
        oneof="request_config",

# Path: google/cloud/datalabeling_v1beta1/types/annotation_spec_set.py
# class AnnotationSpecSet(proto.Message):
# class AnnotationSpec(proto.Message):
# 
# 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/evaluation_job.py
# class EvaluationJob(proto.Message):
#     class State(proto.Enum):
# class EvaluationJobConfig(proto.Message):
# class EvaluationJobAlertConfig(proto.Message):
# class Attempt(proto.Message):
#         STATE_UNSPECIFIED = 0
#         SCHEDULED = 1
#         RUNNING = 2
#         PAUSED = 3
#         STOPPED = 4
# 
# 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/instruction.py
# class Instruction(proto.Message):
# class CsvInstruction(proto.Message):
# class PdfInstruction(proto.Message):


# Path: google/cloud/datalabeling_v1beta1/types/data_labeling_service.py
import proto  # type: ignore
from google.cloud.datalabeling_v1beta1.types import (
    annotation_spec_set as gcd_annotation_spec_set,
)
from google.cloud.datalabeling_v1beta1.types import dataset as gcd_dataset
from google.cloud.datalabeling_v1beta1.types import evaluation
from google.cloud.datalabeling_v1beta1.types import evaluation_job as gcd_evaluation_job
from google.cloud.datalabeling_v1beta1.types import human_annotation_config
from google.cloud.datalabeling_v1beta1.types import instruction as gcd_instruction
from google.protobuf import field_mask_pb2  # type: ignore

        FEATURE_UNSPECIFIED = 0
        CLASSIFICATION = 1
        BOUNDING_BOX = 2
        ORIENTED_BOUNDING_BOX = 6
        BOUNDING_POLY = 3
        POLYLINE = 4
        SEGMENTATION = 5

    image_classification_config = proto.Field(
        proto.MESSAGE,
        number=4,
        oneof="request_config",
        message=human_annotation_config.ImageClassificationConfig,
    )
    bounding_poly_config = proto.Field(
        proto.MESSAGE,
        number=5,
        oneof="request_config",
        message=human_annotation_config.BoundingPolyConfig,
    )
    polyline_config = proto.Field(
        proto.MESSAGE,
        number=6,
        oneof="request_config",
        message=human_annotation_config.PolylineConfig,
    )
    segmentation_config = proto.Field(
        proto.MESSAGE,
        number=7,
        oneof="request_config",

        message=human_annotation_config.SegmentationConfig,