"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import sys
import typing

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

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class GraphTransferNodeInput(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NODE_ID_FIELD_NUMBER: builtins.int
    OUTPUT_PORT_FIELD_NUMBER: builtins.int
    node_id: builtins.int
    output_port: builtins.int
    def __init__(self, *, node_id: builtins.int | None = ..., output_port: builtins.int | None = ...) -> None: ...
    def ClearField(self, field_name: typing.Literal["node_id", b"node_id", "output_port", b"output_port"]) -> None: ...

global___GraphTransferNodeInput = GraphTransferNodeInput

@typing.final
class GraphTransferNodeInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    NODE_ID_FIELD_NUMBER: builtins.int
    TYPE_NAME_FIELD_NUMBER: builtins.int
    SOC_OP_ID_FIELD_NUMBER: builtins.int
    PADDING_ID_FIELD_NUMBER: builtins.int
    INPUT_COUNT_FIELD_NUMBER: builtins.int
    OUTPUT_COUNT_FIELD_NUMBER: builtins.int
    name: builtins.str
    node_id: builtins.int
    type_name: builtins.str
    soc_op_id: builtins.int
    padding_id: builtins.int
    input_count: builtins.int
    output_count: builtins.int
    def __init__(
        self,
        *,
        name: builtins.str | None = ...,
        node_id: builtins.int | None = ...,
        type_name: builtins.str | None = ...,
        soc_op_id: builtins.int | None = ...,
        padding_id: builtins.int | None = ...,
        input_count: builtins.int | None = ...,
        output_count: builtins.int | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "input_count",
            b"input_count",
            "name",
            b"name",
            "node_id",
            b"node_id",
            "output_count",
            b"output_count",
            "padding_id",
            b"padding_id",
            "soc_op_id",
            b"soc_op_id",
            "type_name",
            b"type_name",
        ],
    ) -> None: ...

global___GraphTransferNodeInfo = GraphTransferNodeInfo

@typing.final
class GraphTransferConstNodeInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    NODE_ID_FIELD_NUMBER: builtins.int
    SHAPE_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    DTYPE_FIELD_NUMBER: builtins.int
    name: builtins.str
    node_id: builtins.int
    data: builtins.bytes
    dtype: tensorflow.core.framework.types_pb2.DataType.ValueType
    @property
    def shape(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        name: builtins.str | None = ...,
        node_id: builtins.int | None = ...,
        shape: collections.abc.Iterable[builtins.int] | None = ...,
        data: builtins.bytes | None = ...,
        dtype: tensorflow.core.framework.types_pb2.DataType.ValueType | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal["data", b"data", "dtype", b"dtype", "name", b"name", "node_id", b"node_id", "shape", b"shape"],
    ) -> None: ...

global___GraphTransferConstNodeInfo = GraphTransferConstNodeInfo

@typing.final
class GraphTransferNodeInputInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NODE_ID_FIELD_NUMBER: builtins.int
    NODE_INPUT_FIELD_NUMBER: builtins.int
    node_id: builtins.int
    @property
    def node_input(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GraphTransferNodeInput]: ...
    def __init__(
        self,
        *,
        node_id: builtins.int | None = ...,
        node_input: collections.abc.Iterable[global___GraphTransferNodeInput] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["node_id", b"node_id", "node_input", b"node_input"]) -> None: ...

global___GraphTransferNodeInputInfo = GraphTransferNodeInputInfo

@typing.final
class GraphTransferNodeOutputInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NODE_ID_FIELD_NUMBER: builtins.int
    MAX_BYTE_SIZE_FIELD_NUMBER: builtins.int
    node_id: builtins.int
    @property
    def max_byte_size(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self, *, node_id: builtins.int | None = ..., max_byte_size: collections.abc.Iterable[builtins.int] | None = ...
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["max_byte_size", b"max_byte_size", "node_id", b"node_id"]) -> None: ...

global___GraphTransferNodeOutputInfo = GraphTransferNodeOutputInfo

@typing.final
class GraphTransferGraphInputNodeInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    SHAPE_FIELD_NUMBER: builtins.int
    DTYPE_FIELD_NUMBER: builtins.int
    name: builtins.str
    dtype: tensorflow.core.framework.types_pb2.DataType.ValueType
    @property
    def shape(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        name: builtins.str | None = ...,
        shape: collections.abc.Iterable[builtins.int] | None = ...,
        dtype: tensorflow.core.framework.types_pb2.DataType.ValueType | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["dtype", b"dtype", "name", b"name", "shape", b"shape"]) -> None: ...

global___GraphTransferGraphInputNodeInfo = GraphTransferGraphInputNodeInfo

@typing.final
class GraphTransferGraphOutputNodeInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    SHAPE_FIELD_NUMBER: builtins.int
    DTYPE_FIELD_NUMBER: builtins.int
    name: builtins.str
    dtype: tensorflow.core.framework.types_pb2.DataType.ValueType
    @property
    def shape(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        name: builtins.str | None = ...,
        shape: collections.abc.Iterable[builtins.int] | None = ...,
        dtype: tensorflow.core.framework.types_pb2.DataType.ValueType | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["dtype", b"dtype", "name", b"name", "shape", b"shape"]) -> None: ...

global___GraphTransferGraphOutputNodeInfo = GraphTransferGraphOutputNodeInfo

@typing.final
class GraphTransferInfo(google.protobuf.message.Message):
    """Protocol buffer representing a handle to a tensorflow resource. Handles are
    not valid across executions, but can be serialized back and forth from within
    a single run.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

    class _DestinationEnumTypeWrapper(
        google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[GraphTransferInfo._Destination.ValueType], builtins.type
    ):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        NOP: GraphTransferInfo._Destination.ValueType  # 0
        HEXAGON: GraphTransferInfo._Destination.ValueType  # 1

    class Destination(_Destination, metaclass=_DestinationEnumTypeWrapper): ...
    NOP: GraphTransferInfo.Destination.ValueType  # 0
    HEXAGON: GraphTransferInfo.Destination.ValueType  # 1

    NODE_INFO_FIELD_NUMBER: builtins.int
    CONST_NODE_INFO_FIELD_NUMBER: builtins.int
    NODE_INPUT_INFO_FIELD_NUMBER: builtins.int
    NODE_OUTPUT_INFO_FIELD_NUMBER: builtins.int
    GRAPH_INPUT_NODE_INFO_FIELD_NUMBER: builtins.int
    GRAPH_OUTPUT_NODE_INFO_FIELD_NUMBER: builtins.int
    DESTINATION_FIELD_NUMBER: builtins.int
    destination: global___GraphTransferInfo.Destination.ValueType
    """Destination of graph transfer"""
    @property
    def node_info(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GraphTransferNodeInfo]: ...
    @property
    def const_node_info(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GraphTransferConstNodeInfo]: ...
    @property
    def node_input_info(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GraphTransferNodeInputInfo]: ...
    @property
    def node_output_info(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GraphTransferNodeOutputInfo]: ...
    @property
    def graph_input_node_info(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GraphTransferGraphInputNodeInfo]:
        """Input Node parameters of transferred graph"""

    @property
    def graph_output_node_info(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GraphTransferGraphOutputNodeInfo]: ...
    def __init__(
        self,
        *,
        node_info: collections.abc.Iterable[global___GraphTransferNodeInfo] | None = ...,
        const_node_info: collections.abc.Iterable[global___GraphTransferConstNodeInfo] | None = ...,
        node_input_info: collections.abc.Iterable[global___GraphTransferNodeInputInfo] | None = ...,
        node_output_info: collections.abc.Iterable[global___GraphTransferNodeOutputInfo] | None = ...,
        graph_input_node_info: collections.abc.Iterable[global___GraphTransferGraphInputNodeInfo] | None = ...,
        graph_output_node_info: collections.abc.Iterable[global___GraphTransferGraphOutputNodeInfo] | None = ...,
        destination: global___GraphTransferInfo.Destination.ValueType | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "const_node_info",
            b"const_node_info",
            "destination",
            b"destination",
            "graph_input_node_info",
            b"graph_input_node_info",
            "graph_output_node_info",
            b"graph_output_node_info",
            "node_info",
            b"node_info",
            "node_input_info",
            b"node_input_info",
            "node_output_info",
            b"node_output_info",
        ],
    ) -> None: ...

global___GraphTransferInfo = GraphTransferInfo
