"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Protocol messages for describing the configuration of the ExampleParserOp."""
import builtins
import collections.abc
import typing as typing_extensions

import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import tensorflow.core.framework.tensor_pb2
import tensorflow.core.framework.tensor_shape_pb2
import tensorflow.core.framework.types_pb2

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class VarLenFeatureProto(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DTYPE_FIELD_NUMBER: builtins.int
    VALUES_OUTPUT_TENSOR_NAME_FIELD_NUMBER: builtins.int
    INDICES_OUTPUT_TENSOR_NAME_FIELD_NUMBER: builtins.int
    SHAPES_OUTPUT_TENSOR_NAME_FIELD_NUMBER: builtins.int
    dtype: tensorflow.core.framework.types_pb2.DataType.ValueType
    values_output_tensor_name: builtins.str
    indices_output_tensor_name: builtins.str
    shapes_output_tensor_name: builtins.str
    def __init__(
        self,
        *,
        dtype: tensorflow.core.framework.types_pb2.DataType.ValueType | None = ...,
        values_output_tensor_name: builtins.str | None = ...,
        indices_output_tensor_name: builtins.str | None = ...,
        shapes_output_tensor_name: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["dtype", b"dtype", "indices_output_tensor_name", b"indices_output_tensor_name", "shapes_output_tensor_name", b"shapes_output_tensor_name", "values_output_tensor_name", b"values_output_tensor_name"]) -> None: ...

global___VarLenFeatureProto = VarLenFeatureProto

@typing_extensions.final
class FixedLenFeatureProto(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DTYPE_FIELD_NUMBER: builtins.int
    SHAPE_FIELD_NUMBER: builtins.int
    DEFAULT_VALUE_FIELD_NUMBER: builtins.int
    VALUES_OUTPUT_TENSOR_NAME_FIELD_NUMBER: builtins.int
    dtype: tensorflow.core.framework.types_pb2.DataType.ValueType
    @property
    def shape(self) -> tensorflow.core.framework.tensor_shape_pb2.TensorShapeProto: ...
    @property
    def default_value(self) -> tensorflow.core.framework.tensor_pb2.TensorProto: ...
    values_output_tensor_name: builtins.str
    def __init__(
        self,
        *,
        dtype: tensorflow.core.framework.types_pb2.DataType.ValueType | None = ...,
        shape: tensorflow.core.framework.tensor_shape_pb2.TensorShapeProto | None = ...,
        default_value: tensorflow.core.framework.tensor_pb2.TensorProto | None = ...,
        values_output_tensor_name: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["default_value", b"default_value", "shape", b"shape"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["default_value", b"default_value", "dtype", b"dtype", "shape", b"shape", "values_output_tensor_name", b"values_output_tensor_name"]) -> None: ...

global___FixedLenFeatureProto = FixedLenFeatureProto

@typing_extensions.final
class FeatureConfiguration(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FIXED_LEN_FEATURE_FIELD_NUMBER: builtins.int
    VAR_LEN_FEATURE_FIELD_NUMBER: builtins.int
    @property
    def fixed_len_feature(self) -> global___FixedLenFeatureProto: ...
    @property
    def var_len_feature(self) -> global___VarLenFeatureProto: ...
    def __init__(
        self,
        *,
        fixed_len_feature: global___FixedLenFeatureProto | None = ...,
        var_len_feature: global___VarLenFeatureProto | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["config", b"config", "fixed_len_feature", b"fixed_len_feature", "var_len_feature", b"var_len_feature"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["config", b"config", "fixed_len_feature", b"fixed_len_feature", "var_len_feature", b"var_len_feature"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["config", b"config"]) -> typing_extensions.Literal["fixed_len_feature", "var_len_feature"] | None: ...

global___FeatureConfiguration = FeatureConfiguration

@typing_extensions.final
class ExampleParserConfiguration(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class FeatureMapEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> global___FeatureConfiguration: ...
        def __init__(
            self,
            *,
            key: builtins.str | None = ...,
            value: global___FeatureConfiguration | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    FEATURE_MAP_FIELD_NUMBER: builtins.int
    @property
    def feature_map(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___FeatureConfiguration]: ...
    def __init__(
        self,
        *,
        feature_map: collections.abc.Mapping[builtins.str, global___FeatureConfiguration] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["feature_map", b"feature_map"]) -> None: ...

global___ExampleParserConfiguration = ExampleParserConfiguration
