"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import avikom.generic.peer_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class ClientToServer(google.protobuf.message.Message):
    """*
    A message to be sent from a tunneled client to the server that (will) receive messages
    meant for this client. The first message should contain peer information and ByteString
    responses afterwards.
    @author Alexander Neumann <alneuman@techfak.uni-bielefeld.de>
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESPONSE_FIELD_NUMBER: builtins.int
    MESSAGE_ID_FIELD_NUMBER: builtins.int
    PEER_FIELD_NUMBER: builtins.int
    response: builtins.bytes
    """/ A response to a RPC processed by the client"""
    message_id: builtins.int
    """/ The ID of the call related to the response"""
    @property
    def peer(self) -> avikom.generic.peer_pb2.Peer:
        """/ Client information sent as the first message to the server"""
    def __init__(
        self,
        *,
        response: builtins.bytes = ...,
        message_id: builtins.int = ...,
        peer: avikom.generic.peer_pb2.Peer | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["peer", b"peer"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["message_id", b"message_id", "peer", b"peer", "response", b"response"]) -> None: ...

global___ClientToServer = ClientToServer
