"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
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 google.protobuf.struct_pb2
import sys
import tensorflow.core.framework.tensor_pb2
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class SeldonMessage(google.protobuf.message.Message):
    """[START Messages]"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STATUS_FIELD_NUMBER: builtins.int
    META_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    BINDATA_FIELD_NUMBER: builtins.int
    STRDATA_FIELD_NUMBER: builtins.int
    JSONDATA_FIELD_NUMBER: builtins.int
    CUSTOMDATA_FIELD_NUMBER: builtins.int
    @property
    def status(self) -> global___Status: ...
    @property
    def meta(self) -> global___Meta: ...
    @property
    def data(self) -> global___DefaultData: ...
    binData: builtins.bytes
    strData: builtins.str
    @property
    def jsonData(self) -> google.protobuf.struct_pb2.Value: ...
    @property
    def customData(self) -> google.protobuf.any_pb2.Any: ...
    def __init__(
        self,
        *,
        status: global___Status | None = ...,
        meta: global___Meta | None = ...,
        data: global___DefaultData | None = ...,
        binData: builtins.bytes = ...,
        strData: builtins.str = ...,
        jsonData: google.protobuf.struct_pb2.Value | None = ...,
        customData: google.protobuf.any_pb2.Any | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["binData", b"binData", "customData", b"customData", "data", b"data", "data_oneof", b"data_oneof", "jsonData", b"jsonData", "meta", b"meta", "status", b"status", "strData", b"strData"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["binData", b"binData", "customData", b"customData", "data", b"data", "data_oneof", b"data_oneof", "jsonData", b"jsonData", "meta", b"meta", "status", b"status", "strData", b"strData"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["data_oneof", b"data_oneof"]) -> typing_extensions.Literal["data", "binData", "strData", "jsonData", "customData"] | None: ...

global___SeldonMessage = SeldonMessage

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

    NAMES_FIELD_NUMBER: builtins.int
    TENSOR_FIELD_NUMBER: builtins.int
    NDARRAY_FIELD_NUMBER: builtins.int
    TFTENSOR_FIELD_NUMBER: builtins.int
    @property
    def names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def tensor(self) -> global___Tensor: ...
    @property
    def ndarray(self) -> google.protobuf.struct_pb2.ListValue: ...
    @property
    def tftensor(self) -> tensorflow.core.framework.tensor_pb2.TensorProto: ...
    def __init__(
        self,
        *,
        names: collections.abc.Iterable[builtins.str] | None = ...,
        tensor: global___Tensor | None = ...,
        ndarray: google.protobuf.struct_pb2.ListValue | None = ...,
        tftensor: tensorflow.core.framework.tensor_pb2.TensorProto | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["data_oneof", b"data_oneof", "ndarray", b"ndarray", "tensor", b"tensor", "tftensor", b"tftensor"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_oneof", b"data_oneof", "names", b"names", "ndarray", b"ndarray", "tensor", b"tensor", "tftensor", b"tftensor"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["data_oneof", b"data_oneof"]) -> typing_extensions.Literal["tensor", "ndarray", "tftensor"] | None: ...

global___DefaultData = DefaultData

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

    SHAPE_FIELD_NUMBER: builtins.int
    VALUES_FIELD_NUMBER: builtins.int
    @property
    def shape(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    def __init__(
        self,
        *,
        shape: collections.abc.Iterable[builtins.int] | None = ...,
        values: collections.abc.Iterable[builtins.float] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["shape", b"shape", "values", b"values"]) -> None: ...

global___Tensor = Tensor

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

    @typing_extensions.final
    class TagsEntry(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) -> google.protobuf.struct_pb2.Value: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: google.protobuf.struct_pb2.Value | 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: ...

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

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

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

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

    PUID_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    ROUTING_FIELD_NUMBER: builtins.int
    REQUESTPATH_FIELD_NUMBER: builtins.int
    METRICS_FIELD_NUMBER: builtins.int
    puid: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.struct_pb2.Value]: ...
    @property
    def routing(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.int]: ...
    @property
    def requestPath(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def metrics(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Metric]: ...
    def __init__(
        self,
        *,
        puid: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, google.protobuf.struct_pb2.Value] | None = ...,
        routing: collections.abc.Mapping[builtins.str, builtins.int] | None = ...,
        requestPath: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        metrics: collections.abc.Iterable[global___Metric] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["metrics", b"metrics", "puid", b"puid", "requestPath", b"requestPath", "routing", b"routing", "tags", b"tags"]) -> None: ...

global___Meta = Meta

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

    class _MetricType:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _MetricTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Metric._MetricType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        COUNTER: Metric._MetricType.ValueType  # 0
        GAUGE: Metric._MetricType.ValueType  # 1
        TIMER: Metric._MetricType.ValueType  # 2

    class MetricType(_MetricType, metaclass=_MetricTypeEnumTypeWrapper): ...
    COUNTER: Metric.MetricType.ValueType  # 0
    GAUGE: Metric.MetricType.ValueType  # 1
    TIMER: Metric.MetricType.ValueType  # 2

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

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

    KEY_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    key: builtins.str
    type: global___Metric.MetricType.ValueType
    value: builtins.float
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        key: builtins.str = ...,
        type: global___Metric.MetricType.ValueType = ...,
        value: builtins.float = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "tags", b"tags", "type", b"type", "value", b"value"]) -> None: ...

global___Metric = Metric

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

    SELDONMESSAGES_FIELD_NUMBER: builtins.int
    @property
    def seldonMessages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SeldonMessage]: ...
    def __init__(
        self,
        *,
        seldonMessages: collections.abc.Iterable[global___SeldonMessage] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["seldonMessages", b"seldonMessages"]) -> None: ...

global___SeldonMessageList = SeldonMessageList

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

    class _StatusFlag:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _StatusFlagEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Status._StatusFlag.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        SUCCESS: Status._StatusFlag.ValueType  # 0
        FAILURE: Status._StatusFlag.ValueType  # 1

    class StatusFlag(_StatusFlag, metaclass=_StatusFlagEnumTypeWrapper): ...
    SUCCESS: Status.StatusFlag.ValueType  # 0
    FAILURE: Status.StatusFlag.ValueType  # 1

    CODE_FIELD_NUMBER: builtins.int
    INFO_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    code: builtins.int
    info: builtins.str
    reason: builtins.str
    status: global___Status.StatusFlag.ValueType
    def __init__(
        self,
        *,
        code: builtins.int = ...,
        info: builtins.str = ...,
        reason: builtins.str = ...,
        status: global___Status.StatusFlag.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "info", b"info", "reason", b"reason", "status", b"status"]) -> None: ...

global___Status = Status

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

    REQUEST_FIELD_NUMBER: builtins.int
    RESPONSE_FIELD_NUMBER: builtins.int
    REWARD_FIELD_NUMBER: builtins.int
    TRUTH_FIELD_NUMBER: builtins.int
    @property
    def request(self) -> global___SeldonMessage: ...
    @property
    def response(self) -> global___SeldonMessage: ...
    reward: builtins.float
    @property
    def truth(self) -> global___SeldonMessage: ...
    def __init__(
        self,
        *,
        request: global___SeldonMessage | None = ...,
        response: global___SeldonMessage | None = ...,
        reward: builtins.float = ...,
        truth: global___SeldonMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["request", b"request", "response", b"response", "truth", b"truth"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["request", b"request", "response", b"response", "reward", b"reward", "truth", b"truth"]) -> None: ...

global___Feedback = Feedback

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

    REQUEST_FIELD_NUMBER: builtins.int
    RESPONSE_FIELD_NUMBER: builtins.int
    @property
    def request(self) -> global___SeldonMessage: ...
    @property
    def response(self) -> global___SeldonMessage: ...
    def __init__(
        self,
        *,
        request: global___SeldonMessage | None = ...,
        response: global___SeldonMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["request", b"request", "response", b"response"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["request", b"request", "response", b"response"]) -> None: ...

global___RequestResponse = RequestResponse

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

    NAME_FIELD_NUMBER: builtins.int
    name: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name", b"name"]) -> None: ...

global___SeldonModelMetadataRequest = SeldonModelMetadataRequest

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

    MESSAGETYPE_FIELD_NUMBER: builtins.int
    SCHEMA_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DATATYPE_FIELD_NUMBER: builtins.int
    SHAPE_FIELD_NUMBER: builtins.int
    messagetype: builtins.str
    """SeldonMessage Metadata fields"""
    @property
    def schema(self) -> google.protobuf.struct_pb2.Value: ...
    name: builtins.str
    """KFserving tesnor metadata fields"""
    datatype: builtins.str
    @property
    def shape(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        messagetype: builtins.str = ...,
        schema: google.protobuf.struct_pb2.Value | None = ...,
        name: builtins.str = ...,
        datatype: builtins.str = ...,
        shape: collections.abc.Iterable[builtins.int] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["schema", b"schema"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["datatype", b"datatype", "messagetype", b"messagetype", "name", b"name", "schema", b"schema", "shape", b"shape"]) -> None: ...

global___SeldonMessageMetadata = SeldonMessageMetadata

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

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

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

    NAME_FIELD_NUMBER: builtins.int
    VERSIONS_FIELD_NUMBER: builtins.int
    PLATFORM_FIELD_NUMBER: builtins.int
    INPUTS_FIELD_NUMBER: builtins.int
    OUTPUTS_FIELD_NUMBER: builtins.int
    CUSTOM_FIELD_NUMBER: builtins.int
    name: builtins.str
    @property
    def versions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    platform: builtins.str
    @property
    def inputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SeldonMessageMetadata]: ...
    @property
    def outputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SeldonMessageMetadata]: ...
    @property
    def custom(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        versions: collections.abc.Iterable[builtins.str] | None = ...,
        platform: builtins.str = ...,
        inputs: collections.abc.Iterable[global___SeldonMessageMetadata] | None = ...,
        outputs: collections.abc.Iterable[global___SeldonMessageMetadata] | None = ...,
        custom: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom", b"custom", "inputs", b"inputs", "name", b"name", "outputs", b"outputs", "platform", b"platform", "versions", b"versions"]) -> None: ...

global___SeldonModelMetadata = SeldonModelMetadata

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

    @typing_extensions.final
    class ModelsEntry(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___SeldonModelMetadata: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: global___SeldonModelMetadata | 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: ...

    NAME_FIELD_NUMBER: builtins.int
    MODELS_FIELD_NUMBER: builtins.int
    INPUTS_FIELD_NUMBER: builtins.int
    OUTPUTS_FIELD_NUMBER: builtins.int
    name: builtins.str
    @property
    def models(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___SeldonModelMetadata]: ...
    @property
    def inputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SeldonMessageMetadata]: ...
    @property
    def outputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SeldonMessageMetadata]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        models: collections.abc.Mapping[builtins.str, global___SeldonModelMetadata] | None = ...,
        inputs: collections.abc.Iterable[global___SeldonMessageMetadata] | None = ...,
        outputs: collections.abc.Iterable[global___SeldonMessageMetadata] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["inputs", b"inputs", "models", b"models", "name", b"name", "outputs", b"outputs"]) -> None: ...

global___SeldonGraphMetadata = SeldonGraphMetadata
