"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.any_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import tensorflow_metadata.proto.v0.path_pb2
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

global___LifecycleStage = LifecycleStage
class _LifecycleStage(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[LifecycleStage.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    UNKNOWN_STAGE = LifecycleStage.V(0)
    PLANNED = LifecycleStage.V(1)
    ALPHA = LifecycleStage.V(2)
    BETA = LifecycleStage.V(3)
    PRODUCTION = LifecycleStage.V(4)
    DEPRECATED = LifecycleStage.V(5)
    DEBUG_ONLY = LifecycleStage.V(6)
class LifecycleStage(metaclass=_LifecycleStage):
    V = typing.NewType('V', builtins.int)
UNKNOWN_STAGE = LifecycleStage.V(0)
PLANNED = LifecycleStage.V(1)
ALPHA = LifecycleStage.V(2)
BETA = LifecycleStage.V(3)
PRODUCTION = LifecycleStage.V(4)
DEPRECATED = LifecycleStage.V(5)
DEBUG_ONLY = LifecycleStage.V(6)

global___FeatureType = FeatureType
class _FeatureType(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FeatureType.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    TYPE_UNKNOWN = FeatureType.V(0)
    BYTES = FeatureType.V(1)
    INT = FeatureType.V(2)
    FLOAT = FeatureType.V(3)
    STRUCT = FeatureType.V(4)
class FeatureType(metaclass=_FeatureType):
    V = typing.NewType('V', builtins.int)
TYPE_UNKNOWN = FeatureType.V(0)
BYTES = FeatureType.V(1)
INT = FeatureType.V(2)
FLOAT = FeatureType.V(3)
STRUCT = FeatureType.V(4)

class Schema(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class TensorRepresentationGroupEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text = ...

        @property
        def value(self) -> global___TensorRepresentationGroup: ...

        def __init__(self,
            *,
            key : typing.Optional[typing.Text] = ...,
            value : typing.Optional[global___TensorRepresentationGroup] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    FEATURE_FIELD_NUMBER: builtins.int
    SPARSE_FEATURE_FIELD_NUMBER: builtins.int
    WEIGHTED_FEATURE_FIELD_NUMBER: builtins.int
    STRING_DOMAIN_FIELD_NUMBER: builtins.int
    FLOAT_DOMAIN_FIELD_NUMBER: builtins.int
    INT_DOMAIN_FIELD_NUMBER: builtins.int
    DEFAULT_ENVIRONMENT_FIELD_NUMBER: builtins.int
    ANNOTATION_FIELD_NUMBER: builtins.int
    DATASET_CONSTRAINTS_FIELD_NUMBER: builtins.int
    TENSOR_REPRESENTATION_GROUP_FIELD_NUMBER: builtins.int
    default_environment: google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text] = ...

    @property
    def feature(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Feature]: ...

    @property
    def sparse_feature(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SparseFeature]: ...

    @property
    def weighted_feature(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___WeightedFeature]: ...

    @property
    def string_domain(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StringDomain]: ...

    @property
    def float_domain(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FloatDomain]: ...

    @property
    def int_domain(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IntDomain]: ...

    @property
    def annotation(self) -> global___Annotation: ...

    @property
    def dataset_constraints(self) -> global___DatasetConstraints: ...

    @property
    def tensor_representation_group(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___TensorRepresentationGroup]: ...

    def __init__(self,
        *,
        feature : typing.Optional[typing.Iterable[global___Feature]] = ...,
        sparse_feature : typing.Optional[typing.Iterable[global___SparseFeature]] = ...,
        weighted_feature : typing.Optional[typing.Iterable[global___WeightedFeature]] = ...,
        string_domain : typing.Optional[typing.Iterable[global___StringDomain]] = ...,
        float_domain : typing.Optional[typing.Iterable[global___FloatDomain]] = ...,
        int_domain : typing.Optional[typing.Iterable[global___IntDomain]] = ...,
        default_environment : typing.Optional[typing.Iterable[typing.Text]] = ...,
        annotation : typing.Optional[global___Annotation] = ...,
        dataset_constraints : typing.Optional[global___DatasetConstraints] = ...,
        tensor_representation_group : typing.Optional[typing.Mapping[typing.Text, global___TensorRepresentationGroup]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"annotation",b"annotation",u"dataset_constraints",b"dataset_constraints"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"annotation",b"annotation",u"dataset_constraints",b"dataset_constraints",u"default_environment",b"default_environment",u"feature",b"feature",u"float_domain",b"float_domain",u"int_domain",b"int_domain",u"sparse_feature",b"sparse_feature",u"string_domain",b"string_domain",u"tensor_representation_group",b"tensor_representation_group",u"weighted_feature",b"weighted_feature"]) -> None: ...
global___Schema = Schema

class Feature(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    DEPRECATED_FIELD_NUMBER: builtins.int
    PRESENCE_FIELD_NUMBER: builtins.int
    GROUP_PRESENCE_FIELD_NUMBER: builtins.int
    SHAPE_FIELD_NUMBER: builtins.int
    VALUE_COUNT_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    DOMAIN_FIELD_NUMBER: builtins.int
    INT_DOMAIN_FIELD_NUMBER: builtins.int
    FLOAT_DOMAIN_FIELD_NUMBER: builtins.int
    STRING_DOMAIN_FIELD_NUMBER: builtins.int
    BOOL_DOMAIN_FIELD_NUMBER: builtins.int
    STRUCT_DOMAIN_FIELD_NUMBER: builtins.int
    NATURAL_LANGUAGE_DOMAIN_FIELD_NUMBER: builtins.int
    IMAGE_DOMAIN_FIELD_NUMBER: builtins.int
    MID_DOMAIN_FIELD_NUMBER: builtins.int
    URL_DOMAIN_FIELD_NUMBER: builtins.int
    TIME_DOMAIN_FIELD_NUMBER: builtins.int
    TIME_OF_DAY_DOMAIN_FIELD_NUMBER: builtins.int
    DISTRIBUTION_CONSTRAINTS_FIELD_NUMBER: builtins.int
    ANNOTATION_FIELD_NUMBER: builtins.int
    SKEW_COMPARATOR_FIELD_NUMBER: builtins.int
    DRIFT_COMPARATOR_FIELD_NUMBER: builtins.int
    IN_ENVIRONMENT_FIELD_NUMBER: builtins.int
    NOT_IN_ENVIRONMENT_FIELD_NUMBER: builtins.int
    LIFECYCLE_STAGE_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    deprecated: builtins.bool = ...
    type: global___FeatureType.V = ...
    domain: typing.Text = ...
    in_environment: google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text] = ...
    not_in_environment: google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text] = ...
    lifecycle_stage: global___LifecycleStage.V = ...

    @property
    def presence(self) -> global___FeaturePresence: ...

    @property
    def group_presence(self) -> global___FeaturePresenceWithinGroup: ...

    @property
    def shape(self) -> global___FixedShape: ...

    @property
    def value_count(self) -> global___ValueCount: ...

    @property
    def int_domain(self) -> global___IntDomain: ...

    @property
    def float_domain(self) -> global___FloatDomain: ...

    @property
    def string_domain(self) -> global___StringDomain: ...

    @property
    def bool_domain(self) -> global___BoolDomain: ...

    @property
    def struct_domain(self) -> global___StructDomain: ...

    @property
    def natural_language_domain(self) -> global___NaturalLanguageDomain: ...

    @property
    def image_domain(self) -> global___ImageDomain: ...

    @property
    def mid_domain(self) -> global___MIDDomain: ...

    @property
    def url_domain(self) -> global___URLDomain: ...

    @property
    def time_domain(self) -> global___TimeDomain: ...

    @property
    def time_of_day_domain(self) -> global___TimeOfDayDomain: ...

    @property
    def distribution_constraints(self) -> global___DistributionConstraints: ...

    @property
    def annotation(self) -> global___Annotation: ...

    @property
    def skew_comparator(self) -> global___FeatureComparator: ...

    @property
    def drift_comparator(self) -> global___FeatureComparator: ...

    def __init__(self,
        *,
        name : typing.Optional[typing.Text] = ...,
        deprecated : typing.Optional[builtins.bool] = ...,
        presence : typing.Optional[global___FeaturePresence] = ...,
        group_presence : typing.Optional[global___FeaturePresenceWithinGroup] = ...,
        shape : typing.Optional[global___FixedShape] = ...,
        value_count : typing.Optional[global___ValueCount] = ...,
        type : typing.Optional[global___FeatureType.V] = ...,
        domain : typing.Optional[typing.Text] = ...,
        int_domain : typing.Optional[global___IntDomain] = ...,
        float_domain : typing.Optional[global___FloatDomain] = ...,
        string_domain : typing.Optional[global___StringDomain] = ...,
        bool_domain : typing.Optional[global___BoolDomain] = ...,
        struct_domain : typing.Optional[global___StructDomain] = ...,
        natural_language_domain : typing.Optional[global___NaturalLanguageDomain] = ...,
        image_domain : typing.Optional[global___ImageDomain] = ...,
        mid_domain : typing.Optional[global___MIDDomain] = ...,
        url_domain : typing.Optional[global___URLDomain] = ...,
        time_domain : typing.Optional[global___TimeDomain] = ...,
        time_of_day_domain : typing.Optional[global___TimeOfDayDomain] = ...,
        distribution_constraints : typing.Optional[global___DistributionConstraints] = ...,
        annotation : typing.Optional[global___Annotation] = ...,
        skew_comparator : typing.Optional[global___FeatureComparator] = ...,
        drift_comparator : typing.Optional[global___FeatureComparator] = ...,
        in_environment : typing.Optional[typing.Iterable[typing.Text]] = ...,
        not_in_environment : typing.Optional[typing.Iterable[typing.Text]] = ...,
        lifecycle_stage : typing.Optional[global___LifecycleStage.V] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"annotation",b"annotation",u"bool_domain",b"bool_domain",u"deprecated",b"deprecated",u"distribution_constraints",b"distribution_constraints",u"domain",b"domain",u"domain_info",b"domain_info",u"drift_comparator",b"drift_comparator",u"float_domain",b"float_domain",u"group_presence",b"group_presence",u"image_domain",b"image_domain",u"int_domain",b"int_domain",u"lifecycle_stage",b"lifecycle_stage",u"mid_domain",b"mid_domain",u"name",b"name",u"natural_language_domain",b"natural_language_domain",u"presence",b"presence",u"presence_constraints",b"presence_constraints",u"shape",b"shape",u"shape_type",b"shape_type",u"skew_comparator",b"skew_comparator",u"string_domain",b"string_domain",u"struct_domain",b"struct_domain",u"time_domain",b"time_domain",u"time_of_day_domain",b"time_of_day_domain",u"type",b"type",u"url_domain",b"url_domain",u"value_count",b"value_count"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"annotation",b"annotation",u"bool_domain",b"bool_domain",u"deprecated",b"deprecated",u"distribution_constraints",b"distribution_constraints",u"domain",b"domain",u"domain_info",b"domain_info",u"drift_comparator",b"drift_comparator",u"float_domain",b"float_domain",u"group_presence",b"group_presence",u"image_domain",b"image_domain",u"in_environment",b"in_environment",u"int_domain",b"int_domain",u"lifecycle_stage",b"lifecycle_stage",u"mid_domain",b"mid_domain",u"name",b"name",u"natural_language_domain",b"natural_language_domain",u"not_in_environment",b"not_in_environment",u"presence",b"presence",u"presence_constraints",b"presence_constraints",u"shape",b"shape",u"shape_type",b"shape_type",u"skew_comparator",b"skew_comparator",u"string_domain",b"string_domain",u"struct_domain",b"struct_domain",u"time_domain",b"time_domain",u"time_of_day_domain",b"time_of_day_domain",u"type",b"type",u"url_domain",b"url_domain",u"value_count",b"value_count"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"domain_info",b"domain_info"]) -> typing_extensions.Literal["domain","int_domain","float_domain","string_domain","bool_domain","struct_domain","natural_language_domain","image_domain","mid_domain","url_domain","time_domain","time_of_day_domain"]: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"presence_constraints",b"presence_constraints"]) -> typing_extensions.Literal["presence","group_presence"]: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"shape_type",b"shape_type"]) -> typing_extensions.Literal["shape","value_count"]: ...
global___Feature = Feature

class Annotation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TAG_FIELD_NUMBER: builtins.int
    COMMENT_FIELD_NUMBER: builtins.int
    EXTRA_METADATA_FIELD_NUMBER: builtins.int
    tag: google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text] = ...
    comment: google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text] = ...

    @property
    def extra_metadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.any_pb2.Any]: ...

    def __init__(self,
        *,
        tag : typing.Optional[typing.Iterable[typing.Text]] = ...,
        comment : typing.Optional[typing.Iterable[typing.Text]] = ...,
        extra_metadata : typing.Optional[typing.Iterable[google.protobuf.any_pb2.Any]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"comment",b"comment",u"extra_metadata",b"extra_metadata",u"tag",b"tag"]) -> None: ...
global___Annotation = Annotation

class NumericValueComparator(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MIN_FRACTION_THRESHOLD_FIELD_NUMBER: builtins.int
    MAX_FRACTION_THRESHOLD_FIELD_NUMBER: builtins.int
    min_fraction_threshold: builtins.float = ...
    max_fraction_threshold: builtins.float = ...

    def __init__(self,
        *,
        min_fraction_threshold : typing.Optional[builtins.float] = ...,
        max_fraction_threshold : typing.Optional[builtins.float] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"max_fraction_threshold",b"max_fraction_threshold",u"min_fraction_threshold",b"min_fraction_threshold"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"max_fraction_threshold",b"max_fraction_threshold",u"min_fraction_threshold",b"min_fraction_threshold"]) -> None: ...
global___NumericValueComparator = NumericValueComparator

class DatasetConstraints(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NUM_EXAMPLES_DRIFT_COMPARATOR_FIELD_NUMBER: builtins.int
    NUM_EXAMPLES_VERSION_COMPARATOR_FIELD_NUMBER: builtins.int
    MIN_EXAMPLES_COUNT_FIELD_NUMBER: builtins.int
    min_examples_count: builtins.int = ...

    @property
    def num_examples_drift_comparator(self) -> global___NumericValueComparator: ...

    @property
    def num_examples_version_comparator(self) -> global___NumericValueComparator: ...

    def __init__(self,
        *,
        num_examples_drift_comparator : typing.Optional[global___NumericValueComparator] = ...,
        num_examples_version_comparator : typing.Optional[global___NumericValueComparator] = ...,
        min_examples_count : typing.Optional[builtins.int] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"min_examples_count",b"min_examples_count",u"num_examples_drift_comparator",b"num_examples_drift_comparator",u"num_examples_version_comparator",b"num_examples_version_comparator"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"min_examples_count",b"min_examples_count",u"num_examples_drift_comparator",b"num_examples_drift_comparator",u"num_examples_version_comparator",b"num_examples_version_comparator"]) -> None: ...
global___DatasetConstraints = DatasetConstraints

class FixedShape(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class Dim(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        SIZE_FIELD_NUMBER: builtins.int
        NAME_FIELD_NUMBER: builtins.int
        size: builtins.int = ...
        name: typing.Text = ...

        def __init__(self,
            *,
            size : typing.Optional[builtins.int] = ...,
            name : typing.Optional[typing.Text] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"name",b"name",u"size",b"size"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"name",b"name",u"size",b"size"]) -> None: ...

    DIM_FIELD_NUMBER: builtins.int

    @property
    def dim(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FixedShape.Dim]: ...

    def __init__(self,
        *,
        dim : typing.Optional[typing.Iterable[global___FixedShape.Dim]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"dim",b"dim"]) -> None: ...
global___FixedShape = FixedShape

class ValueCount(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MIN_FIELD_NUMBER: builtins.int
    MAX_FIELD_NUMBER: builtins.int
    min: builtins.int = ...
    max: builtins.int = ...

    def __init__(self,
        *,
        min : typing.Optional[builtins.int] = ...,
        max : typing.Optional[builtins.int] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"max",b"max",u"min",b"min"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"max",b"max",u"min",b"min"]) -> None: ...
global___ValueCount = ValueCount

class WeightedFeature(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    FEATURE_FIELD_NUMBER: builtins.int
    WEIGHT_FEATURE_FIELD_NUMBER: builtins.int
    LIFECYCLE_STAGE_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    lifecycle_stage: global___LifecycleStage.V = ...

    @property
    def feature(self) -> tensorflow_metadata.proto.v0.path_pb2.Path: ...

    @property
    def weight_feature(self) -> tensorflow_metadata.proto.v0.path_pb2.Path: ...

    def __init__(self,
        *,
        name : typing.Optional[typing.Text] = ...,
        feature : typing.Optional[tensorflow_metadata.proto.v0.path_pb2.Path] = ...,
        weight_feature : typing.Optional[tensorflow_metadata.proto.v0.path_pb2.Path] = ...,
        lifecycle_stage : typing.Optional[global___LifecycleStage.V] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"feature",b"feature",u"lifecycle_stage",b"lifecycle_stage",u"name",b"name",u"weight_feature",b"weight_feature"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"feature",b"feature",u"lifecycle_stage",b"lifecycle_stage",u"name",b"name",u"weight_feature",b"weight_feature"]) -> None: ...
global___WeightedFeature = WeightedFeature

class SparseFeature(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class IndexFeature(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        NAME_FIELD_NUMBER: builtins.int
        name: typing.Text = ...

        def __init__(self,
            *,
            name : typing.Optional[typing.Text] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"name",b"name"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"name",b"name"]) -> None: ...

    class ValueFeature(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        NAME_FIELD_NUMBER: builtins.int
        name: typing.Text = ...

        def __init__(self,
            *,
            name : typing.Optional[typing.Text] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"name",b"name"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"name",b"name"]) -> None: ...

    NAME_FIELD_NUMBER: builtins.int
    DEPRECATED_FIELD_NUMBER: builtins.int
    LIFECYCLE_STAGE_FIELD_NUMBER: builtins.int
    PRESENCE_FIELD_NUMBER: builtins.int
    DENSE_SHAPE_FIELD_NUMBER: builtins.int
    INDEX_FEATURE_FIELD_NUMBER: builtins.int
    IS_SORTED_FIELD_NUMBER: builtins.int
    VALUE_FEATURE_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    deprecated: builtins.bool = ...
    lifecycle_stage: global___LifecycleStage.V = ...
    is_sorted: builtins.bool = ...
    type: global___FeatureType.V = ...

    @property
    def presence(self) -> global___FeaturePresence: ...

    @property
    def dense_shape(self) -> global___FixedShape: ...

    @property
    def index_feature(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SparseFeature.IndexFeature]: ...

    @property
    def value_feature(self) -> global___SparseFeature.ValueFeature: ...

    def __init__(self,
        *,
        name : typing.Optional[typing.Text] = ...,
        deprecated : typing.Optional[builtins.bool] = ...,
        lifecycle_stage : typing.Optional[global___LifecycleStage.V] = ...,
        presence : typing.Optional[global___FeaturePresence] = ...,
        dense_shape : typing.Optional[global___FixedShape] = ...,
        index_feature : typing.Optional[typing.Iterable[global___SparseFeature.IndexFeature]] = ...,
        is_sorted : typing.Optional[builtins.bool] = ...,
        value_feature : typing.Optional[global___SparseFeature.ValueFeature] = ...,
        type : typing.Optional[global___FeatureType.V] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"dense_shape",b"dense_shape",u"deprecated",b"deprecated",u"is_sorted",b"is_sorted",u"lifecycle_stage",b"lifecycle_stage",u"name",b"name",u"presence",b"presence",u"type",b"type",u"value_feature",b"value_feature"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"dense_shape",b"dense_shape",u"deprecated",b"deprecated",u"index_feature",b"index_feature",u"is_sorted",b"is_sorted",u"lifecycle_stage",b"lifecycle_stage",u"name",b"name",u"presence",b"presence",u"type",b"type",u"value_feature",b"value_feature"]) -> None: ...
global___SparseFeature = SparseFeature

class DistributionConstraints(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MIN_DOMAIN_MASS_FIELD_NUMBER: builtins.int
    min_domain_mass: builtins.float = ...

    def __init__(self,
        *,
        min_domain_mass : typing.Optional[builtins.float] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"min_domain_mass",b"min_domain_mass"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"min_domain_mass",b"min_domain_mass"]) -> None: ...
global___DistributionConstraints = DistributionConstraints

class IntDomain(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    MIN_FIELD_NUMBER: builtins.int
    MAX_FIELD_NUMBER: builtins.int
    IS_CATEGORICAL_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    min: builtins.int = ...
    max: builtins.int = ...
    is_categorical: builtins.bool = ...

    def __init__(self,
        *,
        name : typing.Optional[typing.Text] = ...,
        min : typing.Optional[builtins.int] = ...,
        max : typing.Optional[builtins.int] = ...,
        is_categorical : typing.Optional[builtins.bool] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"is_categorical",b"is_categorical",u"max",b"max",u"min",b"min",u"name",b"name"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"is_categorical",b"is_categorical",u"max",b"max",u"min",b"min",u"name",b"name"]) -> None: ...
global___IntDomain = IntDomain

class FloatDomain(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    MIN_FIELD_NUMBER: builtins.int
    MAX_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    min: builtins.float = ...
    max: builtins.float = ...

    def __init__(self,
        *,
        name : typing.Optional[typing.Text] = ...,
        min : typing.Optional[builtins.float] = ...,
        max : typing.Optional[builtins.float] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"max",b"max",u"min",b"min",u"name",b"name"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"max",b"max",u"min",b"min",u"name",b"name"]) -> None: ...
global___FloatDomain = FloatDomain

class StructDomain(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    FEATURE_FIELD_NUMBER: builtins.int
    SPARSE_FEATURE_FIELD_NUMBER: builtins.int

    @property
    def feature(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Feature]: ...

    @property
    def sparse_feature(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SparseFeature]: ...

    def __init__(self,
        *,
        feature : typing.Optional[typing.Iterable[global___Feature]] = ...,
        sparse_feature : typing.Optional[typing.Iterable[global___SparseFeature]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"feature",b"feature",u"sparse_feature",b"sparse_feature"]) -> None: ...
global___StructDomain = StructDomain

class StringDomain(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    value: google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text] = ...

    def __init__(self,
        *,
        name : typing.Optional[typing.Text] = ...,
        value : typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"name",b"name"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"name",b"name",u"value",b"value"]) -> None: ...
global___StringDomain = StringDomain

class BoolDomain(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    TRUE_VALUE_FIELD_NUMBER: builtins.int
    FALSE_VALUE_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    true_value: typing.Text = ...
    false_value: typing.Text = ...

    def __init__(self,
        *,
        name : typing.Optional[typing.Text] = ...,
        true_value : typing.Optional[typing.Text] = ...,
        false_value : typing.Optional[typing.Text] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"false_value",b"false_value",u"name",b"name",u"true_value",b"true_value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"false_value",b"false_value",u"name",b"name",u"true_value",b"true_value"]) -> None: ...
global___BoolDomain = BoolDomain

class NaturalLanguageDomain(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...

    def __init__(self,
        ) -> None: ...
global___NaturalLanguageDomain = NaturalLanguageDomain

class ImageDomain(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...

    def __init__(self,
        ) -> None: ...
global___ImageDomain = ImageDomain

class MIDDomain(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...

    def __init__(self,
        ) -> None: ...
global___MIDDomain = MIDDomain

class URLDomain(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...

    def __init__(self,
        ) -> None: ...
global___URLDomain = URLDomain

class TimeDomain(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class _IntegerTimeFormat(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[IntegerTimeFormat.V], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        FORMAT_UNKNOWN = TimeDomain.IntegerTimeFormat.V(0)
        UNIX_DAYS = TimeDomain.IntegerTimeFormat.V(5)
        UNIX_SECONDS = TimeDomain.IntegerTimeFormat.V(1)
        UNIX_MILLISECONDS = TimeDomain.IntegerTimeFormat.V(2)
        UNIX_MICROSECONDS = TimeDomain.IntegerTimeFormat.V(3)
        UNIX_NANOSECONDS = TimeDomain.IntegerTimeFormat.V(4)
    class IntegerTimeFormat(metaclass=_IntegerTimeFormat):
        V = typing.NewType('V', builtins.int)
    FORMAT_UNKNOWN = TimeDomain.IntegerTimeFormat.V(0)
    UNIX_DAYS = TimeDomain.IntegerTimeFormat.V(5)
    UNIX_SECONDS = TimeDomain.IntegerTimeFormat.V(1)
    UNIX_MILLISECONDS = TimeDomain.IntegerTimeFormat.V(2)
    UNIX_MICROSECONDS = TimeDomain.IntegerTimeFormat.V(3)
    UNIX_NANOSECONDS = TimeDomain.IntegerTimeFormat.V(4)

    STRING_FORMAT_FIELD_NUMBER: builtins.int
    INTEGER_FORMAT_FIELD_NUMBER: builtins.int
    string_format: typing.Text = ...
    integer_format: global___TimeDomain.IntegerTimeFormat.V = ...

    def __init__(self,
        *,
        string_format : typing.Optional[typing.Text] = ...,
        integer_format : typing.Optional[global___TimeDomain.IntegerTimeFormat.V] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"format",b"format",u"integer_format",b"integer_format",u"string_format",b"string_format"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"format",b"format",u"integer_format",b"integer_format",u"string_format",b"string_format"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"format",b"format"]) -> typing_extensions.Literal["string_format","integer_format"]: ...
global___TimeDomain = TimeDomain

class TimeOfDayDomain(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class _IntegerTimeOfDayFormat(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[IntegerTimeOfDayFormat.V], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        FORMAT_UNKNOWN = TimeOfDayDomain.IntegerTimeOfDayFormat.V(0)
        PACKED_64_NANOS = TimeOfDayDomain.IntegerTimeOfDayFormat.V(1)
    class IntegerTimeOfDayFormat(metaclass=_IntegerTimeOfDayFormat):
        V = typing.NewType('V', builtins.int)
    FORMAT_UNKNOWN = TimeOfDayDomain.IntegerTimeOfDayFormat.V(0)
    PACKED_64_NANOS = TimeOfDayDomain.IntegerTimeOfDayFormat.V(1)

    STRING_FORMAT_FIELD_NUMBER: builtins.int
    INTEGER_FORMAT_FIELD_NUMBER: builtins.int
    string_format: typing.Text = ...
    integer_format: global___TimeOfDayDomain.IntegerTimeOfDayFormat.V = ...

    def __init__(self,
        *,
        string_format : typing.Optional[typing.Text] = ...,
        integer_format : typing.Optional[global___TimeOfDayDomain.IntegerTimeOfDayFormat.V] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"format",b"format",u"integer_format",b"integer_format",u"string_format",b"string_format"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"format",b"format",u"integer_format",b"integer_format",u"string_format",b"string_format"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"format",b"format"]) -> typing_extensions.Literal["string_format","integer_format"]: ...
global___TimeOfDayDomain = TimeOfDayDomain

class FeaturePresence(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MIN_FRACTION_FIELD_NUMBER: builtins.int
    MIN_COUNT_FIELD_NUMBER: builtins.int
    min_fraction: builtins.float = ...
    min_count: builtins.int = ...

    def __init__(self,
        *,
        min_fraction : typing.Optional[builtins.float] = ...,
        min_count : typing.Optional[builtins.int] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"min_count",b"min_count",u"min_fraction",b"min_fraction"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"min_count",b"min_count",u"min_fraction",b"min_fraction"]) -> None: ...
global___FeaturePresence = FeaturePresence

class FeaturePresenceWithinGroup(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    REQUIRED_FIELD_NUMBER: builtins.int
    required: builtins.bool = ...

    def __init__(self,
        *,
        required : typing.Optional[builtins.bool] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"required",b"required"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"required",b"required"]) -> None: ...
global___FeaturePresenceWithinGroup = FeaturePresenceWithinGroup

class InfinityNorm(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    THRESHOLD_FIELD_NUMBER: builtins.int
    threshold: builtins.float = ...

    def __init__(self,
        *,
        threshold : typing.Optional[builtins.float] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"threshold",b"threshold"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"threshold",b"threshold"]) -> None: ...
global___InfinityNorm = InfinityNorm

class FeatureComparator(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    INFINITY_NORM_FIELD_NUMBER: builtins.int

    @property
    def infinity_norm(self) -> global___InfinityNorm: ...

    def __init__(self,
        *,
        infinity_norm : typing.Optional[global___InfinityNorm] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"infinity_norm",b"infinity_norm"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"infinity_norm",b"infinity_norm"]) -> None: ...
global___FeatureComparator = FeatureComparator

class TensorRepresentation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class DefaultValue(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        FLOAT_VALUE_FIELD_NUMBER: builtins.int
        INT_VALUE_FIELD_NUMBER: builtins.int
        BYTES_VALUE_FIELD_NUMBER: builtins.int
        UINT_VALUE_FIELD_NUMBER: builtins.int
        float_value: builtins.float = ...
        int_value: builtins.int = ...
        bytes_value: builtins.bytes = ...
        uint_value: builtins.int = ...

        def __init__(self,
            *,
            float_value : typing.Optional[builtins.float] = ...,
            int_value : typing.Optional[builtins.int] = ...,
            bytes_value : typing.Optional[builtins.bytes] = ...,
            uint_value : typing.Optional[builtins.int] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"bytes_value",b"bytes_value",u"float_value",b"float_value",u"int_value",b"int_value",u"kind",b"kind",u"uint_value",b"uint_value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"bytes_value",b"bytes_value",u"float_value",b"float_value",u"int_value",b"int_value",u"kind",b"kind",u"uint_value",b"uint_value"]) -> None: ...
        def WhichOneof(self, oneof_group: typing_extensions.Literal[u"kind",b"kind"]) -> typing_extensions.Literal["float_value","int_value","bytes_value","uint_value"]: ...

    class DenseTensor(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        COLUMN_NAME_FIELD_NUMBER: builtins.int
        SHAPE_FIELD_NUMBER: builtins.int
        DEFAULT_VALUE_FIELD_NUMBER: builtins.int
        column_name: typing.Text = ...

        @property
        def shape(self) -> global___FixedShape: ...

        @property
        def default_value(self) -> global___TensorRepresentation.DefaultValue: ...

        def __init__(self,
            *,
            column_name : typing.Optional[typing.Text] = ...,
            shape : typing.Optional[global___FixedShape] = ...,
            default_value : typing.Optional[global___TensorRepresentation.DefaultValue] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"column_name",b"column_name",u"default_value",b"default_value",u"shape",b"shape"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"column_name",b"column_name",u"default_value",b"default_value",u"shape",b"shape"]) -> None: ...

    class VarLenSparseTensor(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        COLUMN_NAME_FIELD_NUMBER: builtins.int
        column_name: typing.Text = ...

        def __init__(self,
            *,
            column_name : typing.Optional[typing.Text] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"column_name",b"column_name"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"column_name",b"column_name"]) -> None: ...

    class SparseTensor(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        DENSE_SHAPE_FIELD_NUMBER: builtins.int
        INDEX_COLUMN_NAMES_FIELD_NUMBER: builtins.int
        VALUE_COLUMN_NAME_FIELD_NUMBER: builtins.int
        index_column_names: google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text] = ...
        value_column_name: typing.Text = ...

        @property
        def dense_shape(self) -> global___FixedShape: ...

        def __init__(self,
            *,
            dense_shape : typing.Optional[global___FixedShape] = ...,
            index_column_names : typing.Optional[typing.Iterable[typing.Text]] = ...,
            value_column_name : typing.Optional[typing.Text] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"dense_shape",b"dense_shape",u"value_column_name",b"value_column_name"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"dense_shape",b"dense_shape",u"index_column_names",b"index_column_names",u"value_column_name",b"value_column_name"]) -> None: ...

    DENSE_TENSOR_FIELD_NUMBER: builtins.int
    VARLEN_SPARSE_TENSOR_FIELD_NUMBER: builtins.int
    SPARSE_TENSOR_FIELD_NUMBER: builtins.int

    @property
    def dense_tensor(self) -> global___TensorRepresentation.DenseTensor: ...

    @property
    def varlen_sparse_tensor(self) -> global___TensorRepresentation.VarLenSparseTensor: ...

    @property
    def sparse_tensor(self) -> global___TensorRepresentation.SparseTensor: ...

    def __init__(self,
        *,
        dense_tensor : typing.Optional[global___TensorRepresentation.DenseTensor] = ...,
        varlen_sparse_tensor : typing.Optional[global___TensorRepresentation.VarLenSparseTensor] = ...,
        sparse_tensor : typing.Optional[global___TensorRepresentation.SparseTensor] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"dense_tensor",b"dense_tensor",u"kind",b"kind",u"sparse_tensor",b"sparse_tensor",u"varlen_sparse_tensor",b"varlen_sparse_tensor"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"dense_tensor",b"dense_tensor",u"kind",b"kind",u"sparse_tensor",b"sparse_tensor",u"varlen_sparse_tensor",b"varlen_sparse_tensor"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"kind",b"kind"]) -> typing_extensions.Literal["dense_tensor","varlen_sparse_tensor","sparse_tensor"]: ...
global___TensorRepresentation = TensorRepresentation

class TensorRepresentationGroup(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class TensorRepresentationEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text = ...

        @property
        def value(self) -> global___TensorRepresentation: ...

        def __init__(self,
            *,
            key : typing.Optional[typing.Text] = ...,
            value : typing.Optional[global___TensorRepresentation] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    TENSOR_REPRESENTATION_FIELD_NUMBER: builtins.int

    @property
    def tensor_representation(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___TensorRepresentation]: ...

    def __init__(self,
        *,
        tensor_representation : typing.Optional[typing.Mapping[typing.Text, global___TensorRepresentation]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"tensor_representation",b"tensor_representation"]) -> None: ...
global___TensorRepresentationGroup = TensorRepresentationGroup
