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

from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
import builtins as _builtins
import sys
import typing as _typing

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

DESCRIPTOR: _descriptor.FileDescriptor

class _ProtocolConstants:
    ValueType = _typing.NewType("ValueType", _builtins.int)
    V: _TypeAlias = ValueType  # noqa: Y015

class _ProtocolConstantsEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_ProtocolConstants.ValueType], _builtins.type):
    DESCRIPTOR: _descriptor.EnumDescriptor
    UNKNOWN: _ProtocolConstants.ValueType  # 0
    SERVER_VERSION: _ProtocolConstants.ValueType  # 143165457
    MESSAGE_MAGIC: _ProtocolConstants.ValueType  # 19088745
    REP_ERROR: _ProtocolConstants.ValueType  # 4096
    RPC_PTY_BUFFER_SIZE: _ProtocolConstants.ValueType  # 65536
    RPC_MAX_REQ_MSG_ID: _ProtocolConstants.ValueType  # 256

class ProtocolConstants(_ProtocolConstants, metaclass=_ProtocolConstantsEnumTypeWrapper): ...

UNKNOWN: ProtocolConstants.ValueType  # 0
SERVER_VERSION: ProtocolConstants.ValueType  # 143165457
MESSAGE_MAGIC: ProtocolConstants.ValueType  # 19088745
REP_ERROR: ProtocolConstants.ValueType  # 4096
RPC_PTY_BUFFER_SIZE: ProtocolConstants.ValueType  # 65536
RPC_MAX_REQ_MSG_ID: ProtocolConstants.ValueType  # 256
Global___ProtocolConstants: _TypeAlias = ProtocolConstants  # noqa: Y015

class _Arch:
    ValueType = _typing.NewType("ValueType", _builtins.int)
    V: _TypeAlias = ValueType  # noqa: Y015

class _ArchEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_Arch.ValueType], _builtins.type):
    DESCRIPTOR: _descriptor.EnumDescriptor
    ARCH_UNKNOWN: _Arch.ValueType  # 0
    ARCH_ARM64: _Arch.ValueType  # 1

class Arch(_Arch, metaclass=_ArchEnumTypeWrapper): ...

ARCH_UNKNOWN: Arch.ValueType  # 0
ARCH_ARM64: Arch.ValueType  # 1
Global___Arch: _TypeAlias = Arch  # noqa: Y015

@_typing.final
class RpcMessage(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    MAGIC_FIELD_NUMBER: _builtins.int
    CLIENT_ID_FIELD_NUMBER: _builtins.int
    MSG_ID_FIELD_NUMBER: _builtins.int
    PAYLOAD_FIELD_NUMBER: _builtins.int
    magic: _builtins.int
    client_id: _builtins.int
    msg_id: _builtins.int
    payload: _builtins.bytes
    def __init__(
        self,
        *,
        magic: _builtins.int = ...,
        client_id: _builtins.int = ...,
        msg_id: _builtins.int = ...,
        payload: _builtins.bytes = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["client_id", b"client_id", "magic", b"magic", "msg_id", b"msg_id", "payload", b"payload"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___RpcMessage: _TypeAlias = RpcMessage  # noqa: Y015

@_typing.final
class RpcPtyMessage(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    BUFFER_FIELD_NUMBER: _builtins.int
    EXIT_CODE_FIELD_NUMBER: _builtins.int
    buffer: _builtins.bytes
    exit_code: _builtins.int
    def __init__(
        self,
        *,
        buffer: _builtins.bytes = ...,
        exit_code: _builtins.int = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "exit_code", b"exit_code", "type", b"type"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["buffer", b"buffer", "exit_code", b"exit_code", "type", b"type"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType_type: _TypeAlias = _typing.Literal["buffer", "exit_code"]  # noqa: Y015
    _WhichOneofArgType_type: _TypeAlias = _typing.Literal["type", b"type"]  # noqa: Y015
    def WhichOneof(self, oneof_group: _WhichOneofArgType_type) -> _WhichOneofReturnType_type | None: ...

Global___RpcPtyMessage: _TypeAlias = RpcPtyMessage  # noqa: Y015

@_typing.final
class Handshake(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    MAGIC_FIELD_NUMBER: _builtins.int
    ARCH_FIELD_NUMBER: _builtins.int
    SYSNAME_FIELD_NUMBER: _builtins.int
    MACHINE_FIELD_NUMBER: _builtins.int
    PLATFORM_FIELD_NUMBER: _builtins.int
    SERVER_VERSION_FIELD_NUMBER: _builtins.int
    CLIENT_ID_FIELD_NUMBER: _builtins.int
    magic: _builtins.int
    arch: Global___Arch.ValueType
    sysname: _builtins.str
    machine: _builtins.str
    platform: _builtins.str
    server_version: _builtins.int
    client_id: _builtins.int
    def __init__(
        self,
        *,
        magic: _builtins.int = ...,
        arch: Global___Arch.ValueType = ...,
        sysname: _builtins.str = ...,
        machine: _builtins.str = ...,
        platform: _builtins.str = ...,
        server_version: _builtins.int = ...,
        client_id: _builtins.int = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["arch", b"arch", "client_id", b"client_id", "machine", b"machine", "magic", b"magic", "platform", b"platform", "server_version", b"server_version", "sysname", b"sysname"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Handshake: _TypeAlias = Handshake  # noqa: Y015
