"""
@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 _HostedState:
    ValueType = _typing.NewType("ValueType", _builtins.int)
    V: _TypeAlias = ValueType  # noqa: Y015

class _HostedStateEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_HostedState.ValueType], _builtins.type):
    DESCRIPTOR: _descriptor.EnumDescriptor
    E2EE: _HostedState.ValueType  # 0
    HOSTED: _HostedState.ValueType  # 1

class HostedState(_HostedState, metaclass=_HostedStateEnumTypeWrapper): ...

E2EE: HostedState.ValueType  # 0
HOSTED: HostedState.ValueType  # 1
Global___HostedState: _TypeAlias = HostedState  # noqa: Y015

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

    PUBLICKEY_FIELD_NUMBER: _builtins.int
    PNIDENTIFIER_FIELD_NUMBER: _builtins.int
    LIDIDENTIFIER_FIELD_NUMBER: _builtins.int
    USERNAMEIDENTIFIER_FIELD_NUMBER: _builtins.int
    HOSTEDSTATE_FIELD_NUMBER: _builtins.int
    HASHEDPUBLICKEY_FIELD_NUMBER: _builtins.int
    publicKey: _builtins.bytes
    pnIdentifier: _builtins.bytes
    lidIdentifier: _builtins.bytes
    usernameIdentifier: _builtins.bytes
    hostedState: Global___HostedState.ValueType
    hashedPublicKey: _builtins.bytes
    def __init__(
        self,
        *,
        publicKey: _builtins.bytes | None = ...,
        pnIdentifier: _builtins.bytes | None = ...,
        lidIdentifier: _builtins.bytes | None = ...,
        usernameIdentifier: _builtins.bytes | None = ...,
        hostedState: Global___HostedState.ValueType | None = ...,
        hashedPublicKey: _builtins.bytes | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["hashedPublicKey", b"hashedPublicKey", "hostedState", b"hostedState", "lidIdentifier", b"lidIdentifier", "pnIdentifier", b"pnIdentifier", "publicKey", b"publicKey", "usernameIdentifier", b"usernameIdentifier"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["hashedPublicKey", b"hashedPublicKey", "hostedState", b"hostedState", "lidIdentifier", b"lidIdentifier", "pnIdentifier", b"pnIdentifier", "publicKey", b"publicKey", "usernameIdentifier", b"usernameIdentifier"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___FingerprintData: _TypeAlias = FingerprintData  # noqa: Y015

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

    VERSION_FIELD_NUMBER: _builtins.int
    LOCALFINGERPRINT_FIELD_NUMBER: _builtins.int
    REMOTEFINGERPRINT_FIELD_NUMBER: _builtins.int
    version: _builtins.int
    @_builtins.property
    def localFingerprint(self) -> Global___FingerprintData: ...
    @_builtins.property
    def remoteFingerprint(self) -> Global___FingerprintData: ...
    def __init__(
        self,
        *,
        version: _builtins.int | None = ...,
        localFingerprint: Global___FingerprintData | None = ...,
        remoteFingerprint: Global___FingerprintData | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["localFingerprint", b"localFingerprint", "remoteFingerprint", b"remoteFingerprint", "version", b"version"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["localFingerprint", b"localFingerprint", "remoteFingerprint", b"remoteFingerprint", "version", b"version"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___CombinedFingerprint: _TypeAlias = CombinedFingerprint  # noqa: Y015
