# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
)

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

from typing import (
    Optional as typing___Optional,
    Text as typing___Text,
    Union as typing___Union,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


builtin___bool = bool
builtin___bytes = bytes
builtin___float = float
builtin___int = int
if sys.version_info < (3,):
    builtin___buffer = buffer
    builtin___unicode = unicode


class Node(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    id = ... # type: builtin___bytes
    host = ... # type: builtin___bytes
    tcp_port = ... # type: builtin___int
    udp_port = ... # type: builtin___int

    def __init__(self,
        *,
        id : typing___Optional[builtin___bytes] = None,
        host : typing___Optional[builtin___bytes] = None,
        tcp_port : typing___Optional[builtin___int] = None,
        udp_port : typing___Optional[builtin___int] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Node: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Node: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"host",b"host",u"id",b"id",u"tcp_port",b"tcp_port",u"udp_port",b"udp_port"]) -> None: ...

class Header(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    networkId = ... # type: typing___Text

    @property
    def sender(self) -> Node: ...

    def __init__(self,
        *,
        sender : typing___Optional[Node] = None,
        networkId : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Header: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Header: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"sender",b"sender"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"networkId",b"networkId",u"sender",b"sender"]) -> None: ...

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

    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Heartbeat: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Heartbeat: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

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

    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> HeartbeatResponse: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> HeartbeatResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class ProtocolHandshake(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    nonce = ... # type: builtin___bytes

    def __init__(self,
        *,
        nonce : typing___Optional[builtin___bytes] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ProtocolHandshake: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ProtocolHandshake: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"nonce",b"nonce"]) -> None: ...

class ProtocolHandshakeResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    nonce = ... # type: builtin___bytes

    def __init__(self,
        *,
        nonce : typing___Optional[builtin___bytes] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ProtocolHandshakeResponse: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ProtocolHandshakeResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"nonce",b"nonce"]) -> None: ...

class Packet(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    typeId = ... # type: typing___Text
    content = ... # type: builtin___bytes

    def __init__(self,
        *,
        typeId : typing___Optional[typing___Text] = None,
        content : typing___Optional[builtin___bytes] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Packet: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Packet: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"content",b"content",u"typeId",b"typeId"]) -> None: ...

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

    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Disconnect: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Disconnect: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

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

    @property
    def header(self) -> Header: ...

    @property
    def heartbeat(self) -> Heartbeat: ...

    @property
    def protocol_handshake(self) -> ProtocolHandshake: ...

    @property
    def protocol_handshake_response(self) -> ProtocolHandshakeResponse: ...

    @property
    def packet(self) -> Packet: ...

    @property
    def disconnect(self) -> Disconnect: ...

    def __init__(self,
        *,
        header : typing___Optional[Header] = None,
        heartbeat : typing___Optional[Heartbeat] = None,
        protocol_handshake : typing___Optional[ProtocolHandshake] = None,
        protocol_handshake_response : typing___Optional[ProtocolHandshakeResponse] = None,
        packet : typing___Optional[Packet] = None,
        disconnect : typing___Optional[Disconnect] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Protocol: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Protocol: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"disconnect",b"disconnect",u"header",b"header",u"heartbeat",b"heartbeat",u"message",b"message",u"packet",b"packet",u"protocol_handshake",b"protocol_handshake",u"protocol_handshake_response",b"protocol_handshake_response"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"disconnect",b"disconnect",u"header",b"header",u"heartbeat",b"heartbeat",u"message",b"message",u"packet",b"packet",u"protocol_handshake",b"protocol_handshake",u"protocol_handshake_response",b"protocol_handshake_response"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"message",b"message"]) -> typing_extensions___Literal["heartbeat","protocol_handshake","protocol_handshake_response","packet","disconnect"]: ...

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

    @property
    def protocol(self) -> Protocol: ...

    def __init__(self,
        *,
        protocol : typing___Optional[Protocol] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> TLRequest: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TLRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"protocol",b"protocol"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"protocol",b"protocol"]) -> None: ...

class InternalServerError(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    error = ... # type: builtin___bytes

    def __init__(self,
        *,
        error : typing___Optional[builtin___bytes] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> InternalServerError: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> InternalServerError: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"error",b"error"]) -> None: ...

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

    @property
    def header(self) -> Header: ...

    def __init__(self,
        *,
        header : typing___Optional[Header] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Ack: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Ack: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"header",b"header"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"header",b"header"]) -> None: ...

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

    @property
    def ack(self) -> Ack: ...

    @property
    def internalServerError(self) -> InternalServerError: ...

    def __init__(self,
        *,
        ack : typing___Optional[Ack] = None,
        internalServerError : typing___Optional[InternalServerError] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> TLResponse: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TLResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"ack",b"ack",u"internalServerError",b"internalServerError",u"payload",b"payload"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"ack",b"ack",u"internalServerError",b"internalServerError",u"payload",b"payload"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"payload",b"payload"]) -> typing_extensions___Literal["ack","internalServerError"]: ...

class ChunkHeader(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    typeId = ... # type: typing___Text
    compressed = ... # type: builtin___bool
    contentLength = ... # type: builtin___int
    networkId = ... # type: typing___Text

    @property
    def sender(self) -> Node: ...

    def __init__(self,
        *,
        sender : typing___Optional[Node] = None,
        typeId : typing___Optional[typing___Text] = None,
        compressed : typing___Optional[builtin___bool] = None,
        contentLength : typing___Optional[builtin___int] = None,
        networkId : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ChunkHeader: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ChunkHeader: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"sender",b"sender"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"compressed",b"compressed",u"contentLength",b"contentLength",u"networkId",b"networkId",u"sender",b"sender",u"typeId",b"typeId"]) -> None: ...

class ChunkData(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    contentData = ... # type: builtin___bytes

    def __init__(self,
        *,
        contentData : typing___Optional[builtin___bytes] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ChunkData: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ChunkData: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"contentData",b"contentData"]) -> None: ...

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

    @property
    def header(self) -> ChunkHeader: ...

    @property
    def data(self) -> ChunkData: ...

    def __init__(self,
        *,
        header : typing___Optional[ChunkHeader] = None,
        data : typing___Optional[ChunkData] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Chunk: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Chunk: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal[u"content",b"content",u"data",b"data",u"header",b"header"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"content",b"content",u"data",b"data",u"header",b"header"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"content",b"content"]) -> typing_extensions___Literal["header","data"]: ...
