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

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    PROTOCOL_VERSION_FIELD_NUMBER: builtins.int
    AGENT_VERSION_FIELD_NUMBER: builtins.int
    PUBLIC_KEY_FIELD_NUMBER: builtins.int
    LISTEN_ADDRS_FIELD_NUMBER: builtins.int
    OBSERVED_ADDR_FIELD_NUMBER: builtins.int
    PROTOCOLS_FIELD_NUMBER: builtins.int
    protocol_version: builtins.str
    agent_version: builtins.str
    public_key: builtins.bytes
    observed_addr: builtins.bytes
    @property
    def listen_addrs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ...
    @property
    def protocols(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        protocol_version: builtins.str | None = ...,
        agent_version: builtins.str | None = ...,
        public_key: builtins.bytes | None = ...,
        listen_addrs: collections.abc.Iterable[builtins.bytes] | None = ...,
        observed_addr: builtins.bytes | None = ...,
        protocols: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["agent_version", b"agent_version", "observed_addr", b"observed_addr", "protocol_version", b"protocol_version", "public_key", b"public_key"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["agent_version", b"agent_version", "listen_addrs", b"listen_addrs", "observed_addr", b"observed_addr", "protocol_version", b"protocol_version", "protocols", b"protocols", "public_key", b"public_key"]) -> None: ...

global___Identify = Identify
