"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
from google.protobuf.any_pb2 import (
    Any as google___protobuf___any_pb2___Any,
)

from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    EnumDescriptor as google___protobuf___descriptor___EnumDescriptor,
    FileDescriptor as google___protobuf___descriptor___FileDescriptor,
)

from google.protobuf.internal.containers import (
    MessageMap as google___protobuf___internal___containers___MessageMap,
    RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
    RepeatedScalarFieldContainer as google___protobuf___internal___containers___RepeatedScalarFieldContainer,
)

from google.protobuf.internal.enum_type_wrapper import (
    _EnumTypeWrapper as google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper,
)

from google.protobuf.message import (
    Message as google___protobuf___message___Message,
)

from tensorflow_metadata.proto.v0.path_pb2 import (
    Path as tensorflow_metadata___proto___v0___path_pb2___Path,
)

from typing import (
    Iterable as typing___Iterable,
    Mapping as typing___Mapping,
    NewType as typing___NewType,
    Optional as typing___Optional,
    Text as typing___Text,
    cast as typing___cast,
    overload as typing___overload,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


builtin___bool = bool
builtin___bytes = bytes
builtin___float = float
builtin___int = int


DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...

LifecycleStageValue = typing___NewType('LifecycleStageValue', builtin___int)
type___LifecycleStageValue = LifecycleStageValue
LifecycleStage: _LifecycleStage
class _LifecycleStage(google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper[LifecycleStageValue]):
    DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
    UNKNOWN_STAGE = typing___cast(LifecycleStageValue, 0)
    PLANNED = typing___cast(LifecycleStageValue, 1)
    ALPHA = typing___cast(LifecycleStageValue, 2)
    BETA = typing___cast(LifecycleStageValue, 3)
    PRODUCTION = typing___cast(LifecycleStageValue, 4)
    DEPRECATED = typing___cast(LifecycleStageValue, 5)
    DEBUG_ONLY = typing___cast(LifecycleStageValue, 6)
UNKNOWN_STAGE = typing___cast(LifecycleStageValue, 0)
PLANNED = typing___cast(LifecycleStageValue, 1)
ALPHA = typing___cast(LifecycleStageValue, 2)
BETA = typing___cast(LifecycleStageValue, 3)
PRODUCTION = typing___cast(LifecycleStageValue, 4)
DEPRECATED = typing___cast(LifecycleStageValue, 5)
DEBUG_ONLY = typing___cast(LifecycleStageValue, 6)

FeatureTypeValue = typing___NewType('FeatureTypeValue', builtin___int)
type___FeatureTypeValue = FeatureTypeValue
FeatureType: _FeatureType
class _FeatureType(google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper[FeatureTypeValue]):
    DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
    TYPE_UNKNOWN = typing___cast(FeatureTypeValue, 0)
    BYTES = typing___cast(FeatureTypeValue, 1)
    INT = typing___cast(FeatureTypeValue, 2)
    FLOAT = typing___cast(FeatureTypeValue, 3)
    STRUCT = typing___cast(FeatureTypeValue, 4)
TYPE_UNKNOWN = typing___cast(FeatureTypeValue, 0)
BYTES = typing___cast(FeatureTypeValue, 1)
INT = typing___cast(FeatureTypeValue, 2)
FLOAT = typing___cast(FeatureTypeValue, 3)
STRUCT = typing___cast(FeatureTypeValue, 4)

class Schema(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class TensorRepresentationGroupEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key: typing___Text = ...

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

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[type___TensorRepresentationGroup] = None,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...
    type___TensorRepresentationGroupEntry = TensorRepresentationGroupEntry

    default_environment: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text] = ...

    @property
    def feature(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___Feature]: ...

    @property
    def sparse_feature(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___SparseFeature]: ...

    @property
    def weighted_feature(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___WeightedFeature]: ...

    @property
    def string_domain(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___StringDomain]: ...

    @property
    def float_domain(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___FloatDomain]: ...

    @property
    def int_domain(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___IntDomain]: ...

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

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

    @property
    def tensor_representation_group(self) -> google___protobuf___internal___containers___MessageMap[typing___Text, type___TensorRepresentationGroup]: ...

    def __init__(self,
        *,
        feature : typing___Optional[typing___Iterable[type___Feature]] = None,
        sparse_feature : typing___Optional[typing___Iterable[type___SparseFeature]] = None,
        weighted_feature : typing___Optional[typing___Iterable[type___WeightedFeature]] = None,
        string_domain : typing___Optional[typing___Iterable[type___StringDomain]] = None,
        float_domain : typing___Optional[typing___Iterable[type___FloatDomain]] = None,
        int_domain : typing___Optional[typing___Iterable[type___IntDomain]] = None,
        default_environment : typing___Optional[typing___Iterable[typing___Text]] = None,
        annotation : typing___Optional[type___Annotation] = None,
        dataset_constraints : typing___Optional[type___DatasetConstraints] = None,
        tensor_representation_group : typing___Optional[typing___Mapping[typing___Text, type___TensorRepresentationGroup]] = None,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"annotation",b"annotation",u"dataset_constraints",b"dataset_constraints"]) -> builtin___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: ...
type___Schema = Schema

class Feature(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    name: typing___Text = ...
    deprecated: builtin___bool = ...
    type: type___FeatureTypeValue = ...
    domain: typing___Text = ...
    in_environment: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text] = ...
    not_in_environment: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text] = ...
    lifecycle_stage: type___LifecycleStageValue = ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __init__(self,
        *,
        name : typing___Optional[typing___Text] = None,
        deprecated : typing___Optional[builtin___bool] = None,
        presence : typing___Optional[type___FeaturePresence] = None,
        group_presence : typing___Optional[type___FeaturePresenceWithinGroup] = None,
        shape : typing___Optional[type___FixedShape] = None,
        value_count : typing___Optional[type___ValueCount] = None,
        type : typing___Optional[type___FeatureTypeValue] = None,
        domain : typing___Optional[typing___Text] = None,
        int_domain : typing___Optional[type___IntDomain] = None,
        float_domain : typing___Optional[type___FloatDomain] = None,
        string_domain : typing___Optional[type___StringDomain] = None,
        bool_domain : typing___Optional[type___BoolDomain] = None,
        struct_domain : typing___Optional[type___StructDomain] = None,
        natural_language_domain : typing___Optional[type___NaturalLanguageDomain] = None,
        image_domain : typing___Optional[type___ImageDomain] = None,
        mid_domain : typing___Optional[type___MIDDomain] = None,
        url_domain : typing___Optional[type___URLDomain] = None,
        time_domain : typing___Optional[type___TimeDomain] = None,
        time_of_day_domain : typing___Optional[type___TimeOfDayDomain] = None,
        distribution_constraints : typing___Optional[type___DistributionConstraints] = None,
        annotation : typing___Optional[type___Annotation] = None,
        skew_comparator : typing___Optional[type___FeatureComparator] = None,
        drift_comparator : typing___Optional[type___FeatureComparator] = None,
        in_environment : typing___Optional[typing___Iterable[typing___Text]] = None,
        not_in_environment : typing___Optional[typing___Iterable[typing___Text]] = None,
        lifecycle_stage : typing___Optional[type___LifecycleStageValue] = None,
        ) -> 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"]) -> builtin___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"]: ...
type___Feature = Feature

class Annotation(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    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]] = None,
        comment : typing___Optional[typing___Iterable[typing___Text]] = None,
        extra_metadata : typing___Optional[typing___Iterable[google___protobuf___any_pb2___Any]] = None,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"comment",b"comment",u"extra_metadata",b"extra_metadata",u"tag",b"tag"]) -> None: ...
type___Annotation = Annotation

class NumericValueComparator(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    min_fraction_threshold: builtin___float = ...
    max_fraction_threshold: builtin___float = ...

    def __init__(self,
        *,
        min_fraction_threshold : typing___Optional[builtin___float] = None,
        max_fraction_threshold : typing___Optional[builtin___float] = None,
        ) -> 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"]) -> builtin___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: ...
type___NumericValueComparator = NumericValueComparator

class DatasetConstraints(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    min_examples_count: builtin___int = ...

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

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

    def __init__(self,
        *,
        num_examples_drift_comparator : typing___Optional[type___NumericValueComparator] = None,
        num_examples_version_comparator : typing___Optional[type___NumericValueComparator] = None,
        min_examples_count : typing___Optional[builtin___int] = None,
        ) -> 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"]) -> builtin___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: ...
type___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: builtin___int = ...
        name: typing___Text = ...

        def __init__(self,
            *,
            size : typing___Optional[builtin___int] = None,
            name : typing___Optional[typing___Text] = None,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions___Literal[u"name",b"name",u"size",b"size"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"name",b"name",u"size",b"size"]) -> None: ...
    type___Dim = Dim


    @property
    def dim(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___FixedShape.Dim]: ...

    def __init__(self,
        *,
        dim : typing___Optional[typing___Iterable[type___FixedShape.Dim]] = None,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"dim",b"dim"]) -> None: ...
type___FixedShape = FixedShape

class ValueCount(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    min: builtin___int = ...
    max: builtin___int = ...

    def __init__(self,
        *,
        min : typing___Optional[builtin___int] = None,
        max : typing___Optional[builtin___int] = None,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"max",b"max",u"min",b"min"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"max",b"max",u"min",b"min"]) -> None: ...
type___ValueCount = ValueCount

class WeightedFeature(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    name: typing___Text = ...
    lifecycle_stage: type___LifecycleStageValue = ...

    @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] = None,
        feature : typing___Optional[tensorflow_metadata___proto___v0___path_pb2___Path] = None,
        weight_feature : typing___Optional[tensorflow_metadata___proto___v0___path_pb2___Path] = None,
        lifecycle_stage : typing___Optional[type___LifecycleStageValue] = None,
        ) -> 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"]) -> builtin___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: ...
type___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: typing___Text = ...

        def __init__(self,
            *,
            name : typing___Optional[typing___Text] = None,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions___Literal[u"name",b"name"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"name",b"name"]) -> None: ...
    type___IndexFeature = IndexFeature

    class ValueFeature(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        name: typing___Text = ...

        def __init__(self,
            *,
            name : typing___Optional[typing___Text] = None,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions___Literal[u"name",b"name"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"name",b"name"]) -> None: ...
    type___ValueFeature = ValueFeature

    name: typing___Text = ...
    deprecated: builtin___bool = ...
    lifecycle_stage: type___LifecycleStageValue = ...
    is_sorted: builtin___bool = ...
    type: type___FeatureTypeValue = ...

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

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

    @property
    def index_feature(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___SparseFeature.IndexFeature]: ...

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

    def __init__(self,
        *,
        name : typing___Optional[typing___Text] = None,
        deprecated : typing___Optional[builtin___bool] = None,
        lifecycle_stage : typing___Optional[type___LifecycleStageValue] = None,
        presence : typing___Optional[type___FeaturePresence] = None,
        dense_shape : typing___Optional[type___FixedShape] = None,
        index_feature : typing___Optional[typing___Iterable[type___SparseFeature.IndexFeature]] = None,
        is_sorted : typing___Optional[builtin___bool] = None,
        value_feature : typing___Optional[type___SparseFeature.ValueFeature] = None,
        type : typing___Optional[type___FeatureTypeValue] = None,
        ) -> 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"]) -> builtin___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: ...
type___SparseFeature = SparseFeature

class DistributionConstraints(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    min_domain_mass: builtin___float = ...

    def __init__(self,
        *,
        min_domain_mass : typing___Optional[builtin___float] = None,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"min_domain_mass",b"min_domain_mass"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"min_domain_mass",b"min_domain_mass"]) -> None: ...
type___DistributionConstraints = DistributionConstraints

class IntDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    name: typing___Text = ...
    min: builtin___int = ...
    max: builtin___int = ...
    is_categorical: builtin___bool = ...

    def __init__(self,
        *,
        name : typing___Optional[typing___Text] = None,
        min : typing___Optional[builtin___int] = None,
        max : typing___Optional[builtin___int] = None,
        is_categorical : typing___Optional[builtin___bool] = None,
        ) -> 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"]) -> builtin___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: ...
type___IntDomain = IntDomain

class FloatDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    name: typing___Text = ...
    min: builtin___float = ...
    max: builtin___float = ...

    def __init__(self,
        *,
        name : typing___Optional[typing___Text] = None,
        min : typing___Optional[builtin___float] = None,
        max : typing___Optional[builtin___float] = None,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"max",b"max",u"min",b"min",u"name",b"name"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"max",b"max",u"min",b"min",u"name",b"name"]) -> None: ...
type___FloatDomain = FloatDomain

class StructDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def feature(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___Feature]: ...

    @property
    def sparse_feature(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___SparseFeature]: ...

    def __init__(self,
        *,
        feature : typing___Optional[typing___Iterable[type___Feature]] = None,
        sparse_feature : typing___Optional[typing___Iterable[type___SparseFeature]] = None,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"feature",b"feature",u"sparse_feature",b"sparse_feature"]) -> None: ...
type___StructDomain = StructDomain

class StringDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    name: typing___Text = ...
    value: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text] = ...

    def __init__(self,
        *,
        name : typing___Optional[typing___Text] = None,
        value : typing___Optional[typing___Iterable[typing___Text]] = None,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"name",b"name"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"name",b"name",u"value",b"value"]) -> None: ...
type___StringDomain = StringDomain

class BoolDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    name: typing___Text = ...
    true_value: typing___Text = ...
    false_value: typing___Text = ...

    def __init__(self,
        *,
        name : typing___Optional[typing___Text] = None,
        true_value : typing___Optional[typing___Text] = None,
        false_value : typing___Optional[typing___Text] = None,
        ) -> 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"]) -> builtin___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: ...
type___BoolDomain = BoolDomain

class NaturalLanguageDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

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

class ImageDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

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

class MIDDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

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

class URLDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

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

class TimeDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    IntegerTimeFormatValue = typing___NewType('IntegerTimeFormatValue', builtin___int)
    type___IntegerTimeFormatValue = IntegerTimeFormatValue
    IntegerTimeFormat: _IntegerTimeFormat
    class _IntegerTimeFormat(google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper[TimeDomain.IntegerTimeFormatValue]):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        FORMAT_UNKNOWN = typing___cast(TimeDomain.IntegerTimeFormatValue, 0)
        UNIX_DAYS = typing___cast(TimeDomain.IntegerTimeFormatValue, 5)
        UNIX_SECONDS = typing___cast(TimeDomain.IntegerTimeFormatValue, 1)
        UNIX_MILLISECONDS = typing___cast(TimeDomain.IntegerTimeFormatValue, 2)
        UNIX_MICROSECONDS = typing___cast(TimeDomain.IntegerTimeFormatValue, 3)
        UNIX_NANOSECONDS = typing___cast(TimeDomain.IntegerTimeFormatValue, 4)
    FORMAT_UNKNOWN = typing___cast(TimeDomain.IntegerTimeFormatValue, 0)
    UNIX_DAYS = typing___cast(TimeDomain.IntegerTimeFormatValue, 5)
    UNIX_SECONDS = typing___cast(TimeDomain.IntegerTimeFormatValue, 1)
    UNIX_MILLISECONDS = typing___cast(TimeDomain.IntegerTimeFormatValue, 2)
    UNIX_MICROSECONDS = typing___cast(TimeDomain.IntegerTimeFormatValue, 3)
    UNIX_NANOSECONDS = typing___cast(TimeDomain.IntegerTimeFormatValue, 4)

    string_format: typing___Text = ...
    integer_format: type___TimeDomain.IntegerTimeFormatValue = ...

    def __init__(self,
        *,
        string_format : typing___Optional[typing___Text] = None,
        integer_format : typing___Optional[type___TimeDomain.IntegerTimeFormatValue] = None,
        ) -> 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"]) -> builtin___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"]: ...
type___TimeDomain = TimeDomain

class TimeOfDayDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    IntegerTimeOfDayFormatValue = typing___NewType('IntegerTimeOfDayFormatValue', builtin___int)
    type___IntegerTimeOfDayFormatValue = IntegerTimeOfDayFormatValue
    IntegerTimeOfDayFormat: _IntegerTimeOfDayFormat
    class _IntegerTimeOfDayFormat(google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper[TimeOfDayDomain.IntegerTimeOfDayFormatValue]):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        FORMAT_UNKNOWN = typing___cast(TimeOfDayDomain.IntegerTimeOfDayFormatValue, 0)
        PACKED_64_NANOS = typing___cast(TimeOfDayDomain.IntegerTimeOfDayFormatValue, 1)
    FORMAT_UNKNOWN = typing___cast(TimeOfDayDomain.IntegerTimeOfDayFormatValue, 0)
    PACKED_64_NANOS = typing___cast(TimeOfDayDomain.IntegerTimeOfDayFormatValue, 1)

    string_format: typing___Text = ...
    integer_format: type___TimeOfDayDomain.IntegerTimeOfDayFormatValue = ...

    def __init__(self,
        *,
        string_format : typing___Optional[typing___Text] = None,
        integer_format : typing___Optional[type___TimeOfDayDomain.IntegerTimeOfDayFormatValue] = None,
        ) -> 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"]) -> builtin___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"]: ...
type___TimeOfDayDomain = TimeOfDayDomain

class FeaturePresence(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    min_fraction: builtin___float = ...
    min_count: builtin___int = ...

    def __init__(self,
        *,
        min_fraction : typing___Optional[builtin___float] = None,
        min_count : typing___Optional[builtin___int] = None,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"min_count",b"min_count",u"min_fraction",b"min_fraction"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"min_count",b"min_count",u"min_fraction",b"min_fraction"]) -> None: ...
type___FeaturePresence = FeaturePresence

class FeaturePresenceWithinGroup(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    required: builtin___bool = ...

    def __init__(self,
        *,
        required : typing___Optional[builtin___bool] = None,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"required",b"required"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"required",b"required"]) -> None: ...
type___FeaturePresenceWithinGroup = FeaturePresenceWithinGroup

class InfinityNorm(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    threshold: builtin___float = ...

    def __init__(self,
        *,
        threshold : typing___Optional[builtin___float] = None,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"threshold",b"threshold"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"threshold",b"threshold"]) -> None: ...
type___InfinityNorm = InfinityNorm

class FeatureComparator(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

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

    def __init__(self,
        *,
        infinity_norm : typing___Optional[type___InfinityNorm] = None,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"infinity_norm",b"infinity_norm"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"infinity_norm",b"infinity_norm"]) -> None: ...
type___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: builtin___float = ...
        int_value: builtin___int = ...
        bytes_value: builtin___bytes = ...
        uint_value: builtin___int = ...

        def __init__(self,
            *,
            float_value : typing___Optional[builtin___float] = None,
            int_value : typing___Optional[builtin___int] = None,
            bytes_value : typing___Optional[builtin___bytes] = None,
            uint_value : typing___Optional[builtin___int] = None,
            ) -> 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"]) -> builtin___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"]: ...
    type___DefaultValue = DefaultValue

    class DenseTensor(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        column_name: typing___Text = ...

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

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

        def __init__(self,
            *,
            column_name : typing___Optional[typing___Text] = None,
            shape : typing___Optional[type___FixedShape] = None,
            default_value : typing___Optional[type___TensorRepresentation.DefaultValue] = None,
            ) -> 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"]) -> builtin___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: ...
    type___DenseTensor = DenseTensor

    class VarLenSparseTensor(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        column_name: typing___Text = ...

        def __init__(self,
            *,
            column_name : typing___Optional[typing___Text] = None,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions___Literal[u"column_name",b"column_name"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"column_name",b"column_name"]) -> None: ...
    type___VarLenSparseTensor = VarLenSparseTensor

    class SparseTensor(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        index_column_names: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text] = ...
        value_column_name: typing___Text = ...

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

        def __init__(self,
            *,
            dense_shape : typing___Optional[type___FixedShape] = None,
            index_column_names : typing___Optional[typing___Iterable[typing___Text]] = None,
            value_column_name : typing___Optional[typing___Text] = None,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions___Literal[u"dense_shape",b"dense_shape",u"value_column_name",b"value_column_name"]) -> builtin___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: ...
    type___SparseTensor = SparseTensor


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

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

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

    def __init__(self,
        *,
        dense_tensor : typing___Optional[type___TensorRepresentation.DenseTensor] = None,
        varlen_sparse_tensor : typing___Optional[type___TensorRepresentation.VarLenSparseTensor] = None,
        sparse_tensor : typing___Optional[type___TensorRepresentation.SparseTensor] = None,
        ) -> 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"]) -> builtin___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"]: ...
type___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: typing___Text = ...

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

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[type___TensorRepresentation] = None,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...
    type___TensorRepresentationEntry = TensorRepresentationEntry


    @property
    def tensor_representation(self) -> google___protobuf___internal___containers___MessageMap[typing___Text, type___TensorRepresentation]: ...

    def __init__(self,
        *,
        tensor_representation : typing___Optional[typing___Mapping[typing___Text, type___TensorRepresentation]] = None,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"tensor_representation",b"tensor_representation"]) -> None: ...
type___TensorRepresentationGroup = TensorRepresentationGroup
