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

import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

class _ProtocolConstantsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ProtocolConstants.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.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: typing_extensions.TypeAlias = ProtocolConstants

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

class _ArchEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Arch.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.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: typing_extensions.TypeAlias = Arch

@typing.final
class RpcMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.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: typing_extensions.TypeAlias = typing.Literal["client_id", b"client_id", "magic", b"magic", "msg_id", b"msg_id", "payload", b"payload"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___RpcMessage: typing_extensions.TypeAlias = RpcMessage

@typing.final
class RpcPtyMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.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: typing_extensions.TypeAlias = typing.Literal["buffer", b"buffer", "exit_code", b"exit_code", "type", b"type"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["buffer", b"buffer", "exit_code", b"exit_code", "type", b"type"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType_type: typing_extensions.TypeAlias = typing.Literal["buffer", "exit_code"]
    _WhichOneofArgType_type: typing_extensions.TypeAlias = typing.Literal["type", b"type"]
    def WhichOneof(self, oneof_group: _WhichOneofArgType_type) -> _WhichOneofReturnType_type | None: ...

Global___RpcPtyMessage: typing_extensions.TypeAlias = RpcPtyMessage

@typing.final
class Handshake(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.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: typing_extensions.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"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Handshake: typing_extensions.TypeAlias = Handshake
