"""
@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

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

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

    class _PlatformTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[DeviceProps._PlatformType.ValueType], _builtins.type):
        DESCRIPTOR: _descriptor.EnumDescriptor
        UNKNOWN: DeviceProps._PlatformType.ValueType  # 0
        CHROME: DeviceProps._PlatformType.ValueType  # 1
        FIREFOX: DeviceProps._PlatformType.ValueType  # 2
        IE: DeviceProps._PlatformType.ValueType  # 3
        OPERA: DeviceProps._PlatformType.ValueType  # 4
        SAFARI: DeviceProps._PlatformType.ValueType  # 5
        EDGE: DeviceProps._PlatformType.ValueType  # 6
        DESKTOP: DeviceProps._PlatformType.ValueType  # 7
        IPAD: DeviceProps._PlatformType.ValueType  # 8
        ANDROID_TABLET: DeviceProps._PlatformType.ValueType  # 9
        OHANA: DeviceProps._PlatformType.ValueType  # 10
        ALOHA: DeviceProps._PlatformType.ValueType  # 11
        CATALINA: DeviceProps._PlatformType.ValueType  # 12
        TCL_TV: DeviceProps._PlatformType.ValueType  # 13
        IOS_PHONE: DeviceProps._PlatformType.ValueType  # 14
        IOS_CATALYST: DeviceProps._PlatformType.ValueType  # 15
        ANDROID_PHONE: DeviceProps._PlatformType.ValueType  # 16
        ANDROID_AMBIGUOUS: DeviceProps._PlatformType.ValueType  # 17
        WEAR_OS: DeviceProps._PlatformType.ValueType  # 18
        AR_WRIST: DeviceProps._PlatformType.ValueType  # 19
        AR_DEVICE: DeviceProps._PlatformType.ValueType  # 20
        UWP: DeviceProps._PlatformType.ValueType  # 21
        VR: DeviceProps._PlatformType.ValueType  # 22
        CLOUD_API: DeviceProps._PlatformType.ValueType  # 23
        SMARTGLASSES: DeviceProps._PlatformType.ValueType  # 24

    class PlatformType(_PlatformType, metaclass=_PlatformTypeEnumTypeWrapper): ...
    UNKNOWN: DeviceProps.PlatformType.ValueType  # 0
    CHROME: DeviceProps.PlatformType.ValueType  # 1
    FIREFOX: DeviceProps.PlatformType.ValueType  # 2
    IE: DeviceProps.PlatformType.ValueType  # 3
    OPERA: DeviceProps.PlatformType.ValueType  # 4
    SAFARI: DeviceProps.PlatformType.ValueType  # 5
    EDGE: DeviceProps.PlatformType.ValueType  # 6
    DESKTOP: DeviceProps.PlatformType.ValueType  # 7
    IPAD: DeviceProps.PlatformType.ValueType  # 8
    ANDROID_TABLET: DeviceProps.PlatformType.ValueType  # 9
    OHANA: DeviceProps.PlatformType.ValueType  # 10
    ALOHA: DeviceProps.PlatformType.ValueType  # 11
    CATALINA: DeviceProps.PlatformType.ValueType  # 12
    TCL_TV: DeviceProps.PlatformType.ValueType  # 13
    IOS_PHONE: DeviceProps.PlatformType.ValueType  # 14
    IOS_CATALYST: DeviceProps.PlatformType.ValueType  # 15
    ANDROID_PHONE: DeviceProps.PlatformType.ValueType  # 16
    ANDROID_AMBIGUOUS: DeviceProps.PlatformType.ValueType  # 17
    WEAR_OS: DeviceProps.PlatformType.ValueType  # 18
    AR_WRIST: DeviceProps.PlatformType.ValueType  # 19
    AR_DEVICE: DeviceProps.PlatformType.ValueType  # 20
    UWP: DeviceProps.PlatformType.ValueType  # 21
    VR: DeviceProps.PlatformType.ValueType  # 22
    CLOUD_API: DeviceProps.PlatformType.ValueType  # 23
    SMARTGLASSES: DeviceProps.PlatformType.ValueType  # 24

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

        FULLSYNCDAYSLIMIT_FIELD_NUMBER: _builtins.int
        FULLSYNCSIZEMBLIMIT_FIELD_NUMBER: _builtins.int
        STORAGEQUOTAMB_FIELD_NUMBER: _builtins.int
        INLINEINITIALPAYLOADINE2EEMSG_FIELD_NUMBER: _builtins.int
        RECENTSYNCDAYSLIMIT_FIELD_NUMBER: _builtins.int
        SUPPORTCALLLOGHISTORY_FIELD_NUMBER: _builtins.int
        SUPPORTBOTUSERAGENTCHATHISTORY_FIELD_NUMBER: _builtins.int
        SUPPORTCAGREACTIONSANDPOLLS_FIELD_NUMBER: _builtins.int
        SUPPORTBIZHOSTEDMSG_FIELD_NUMBER: _builtins.int
        SUPPORTRECENTSYNCCHUNKMESSAGECOUNTTUNING_FIELD_NUMBER: _builtins.int
        SUPPORTHOSTEDGROUPMSG_FIELD_NUMBER: _builtins.int
        SUPPORTFBIDBOTCHATHISTORY_FIELD_NUMBER: _builtins.int
        SUPPORTADDONHISTORYSYNCMIGRATION_FIELD_NUMBER: _builtins.int
        SUPPORTMESSAGEASSOCIATION_FIELD_NUMBER: _builtins.int
        SUPPORTGROUPHISTORY_FIELD_NUMBER: _builtins.int
        ONDEMANDREADY_FIELD_NUMBER: _builtins.int
        SUPPORTGUESTCHAT_FIELD_NUMBER: _builtins.int
        COMPLETEONDEMANDREADY_FIELD_NUMBER: _builtins.int
        THUMBNAILSYNCDAYSLIMIT_FIELD_NUMBER: _builtins.int
        fullSyncDaysLimit: _builtins.int
        fullSyncSizeMbLimit: _builtins.int
        storageQuotaMb: _builtins.int
        inlineInitialPayloadInE2EeMsg: _builtins.bool
        recentSyncDaysLimit: _builtins.int
        supportCallLogHistory: _builtins.bool
        supportBotUserAgentChatHistory: _builtins.bool
        supportCagReactionsAndPolls: _builtins.bool
        supportBizHostedMsg: _builtins.bool
        supportRecentSyncChunkMessageCountTuning: _builtins.bool
        supportHostedGroupMsg: _builtins.bool
        supportFbidBotChatHistory: _builtins.bool
        supportAddOnHistorySyncMigration: _builtins.bool
        supportMessageAssociation: _builtins.bool
        supportGroupHistory: _builtins.bool
        onDemandReady: _builtins.bool
        supportGuestChat: _builtins.bool
        completeOnDemandReady: _builtins.bool
        thumbnailSyncDaysLimit: _builtins.int
        def __init__(
            self,
            *,
            fullSyncDaysLimit: _builtins.int | None = ...,
            fullSyncSizeMbLimit: _builtins.int | None = ...,
            storageQuotaMb: _builtins.int | None = ...,
            inlineInitialPayloadInE2EeMsg: _builtins.bool | None = ...,
            recentSyncDaysLimit: _builtins.int | None = ...,
            supportCallLogHistory: _builtins.bool | None = ...,
            supportBotUserAgentChatHistory: _builtins.bool | None = ...,
            supportCagReactionsAndPolls: _builtins.bool | None = ...,
            supportBizHostedMsg: _builtins.bool | None = ...,
            supportRecentSyncChunkMessageCountTuning: _builtins.bool | None = ...,
            supportHostedGroupMsg: _builtins.bool | None = ...,
            supportFbidBotChatHistory: _builtins.bool | None = ...,
            supportAddOnHistorySyncMigration: _builtins.bool | None = ...,
            supportMessageAssociation: _builtins.bool | None = ...,
            supportGroupHistory: _builtins.bool | None = ...,
            onDemandReady: _builtins.bool | None = ...,
            supportGuestChat: _builtins.bool | None = ...,
            completeOnDemandReady: _builtins.bool | None = ...,
            thumbnailSyncDaysLimit: _builtins.int | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["completeOnDemandReady", b"completeOnDemandReady", "fullSyncDaysLimit", b"fullSyncDaysLimit", "fullSyncSizeMbLimit", b"fullSyncSizeMbLimit", "inlineInitialPayloadInE2EeMsg", b"inlineInitialPayloadInE2EeMsg", "onDemandReady", b"onDemandReady", "recentSyncDaysLimit", b"recentSyncDaysLimit", "storageQuotaMb", b"storageQuotaMb", "supportAddOnHistorySyncMigration", b"supportAddOnHistorySyncMigration", "supportBizHostedMsg", b"supportBizHostedMsg", "supportBotUserAgentChatHistory", b"supportBotUserAgentChatHistory", "supportCagReactionsAndPolls", b"supportCagReactionsAndPolls", "supportCallLogHistory", b"supportCallLogHistory", "supportFbidBotChatHistory", b"supportFbidBotChatHistory", "supportGroupHistory", b"supportGroupHistory", "supportGuestChat", b"supportGuestChat", "supportHostedGroupMsg", b"supportHostedGroupMsg", "supportMessageAssociation", b"supportMessageAssociation", "supportRecentSyncChunkMessageCountTuning", b"supportRecentSyncChunkMessageCountTuning", "thumbnailSyncDaysLimit", b"thumbnailSyncDaysLimit"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["completeOnDemandReady", b"completeOnDemandReady", "fullSyncDaysLimit", b"fullSyncDaysLimit", "fullSyncSizeMbLimit", b"fullSyncSizeMbLimit", "inlineInitialPayloadInE2EeMsg", b"inlineInitialPayloadInE2EeMsg", "onDemandReady", b"onDemandReady", "recentSyncDaysLimit", b"recentSyncDaysLimit", "storageQuotaMb", b"storageQuotaMb", "supportAddOnHistorySyncMigration", b"supportAddOnHistorySyncMigration", "supportBizHostedMsg", b"supportBizHostedMsg", "supportBotUserAgentChatHistory", b"supportBotUserAgentChatHistory", "supportCagReactionsAndPolls", b"supportCagReactionsAndPolls", "supportCallLogHistory", b"supportCallLogHistory", "supportFbidBotChatHistory", b"supportFbidBotChatHistory", "supportGroupHistory", b"supportGroupHistory", "supportGuestChat", b"supportGuestChat", "supportHostedGroupMsg", b"supportHostedGroupMsg", "supportMessageAssociation", b"supportMessageAssociation", "supportRecentSyncChunkMessageCountTuning", b"supportRecentSyncChunkMessageCountTuning", "thumbnailSyncDaysLimit", b"thumbnailSyncDaysLimit"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

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

        PRIMARY_FIELD_NUMBER: _builtins.int
        SECONDARY_FIELD_NUMBER: _builtins.int
        TERTIARY_FIELD_NUMBER: _builtins.int
        QUATERNARY_FIELD_NUMBER: _builtins.int
        QUINARY_FIELD_NUMBER: _builtins.int
        primary: _builtins.int
        secondary: _builtins.int
        tertiary: _builtins.int
        quaternary: _builtins.int
        quinary: _builtins.int
        def __init__(
            self,
            *,
            primary: _builtins.int | None = ...,
            secondary: _builtins.int | None = ...,
            tertiary: _builtins.int | None = ...,
            quaternary: _builtins.int | None = ...,
            quinary: _builtins.int | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    OS_FIELD_NUMBER: _builtins.int
    VERSION_FIELD_NUMBER: _builtins.int
    PLATFORMTYPE_FIELD_NUMBER: _builtins.int
    REQUIREFULLSYNC_FIELD_NUMBER: _builtins.int
    HISTORYSYNCCONFIG_FIELD_NUMBER: _builtins.int
    os: _builtins.str
    platformType: Global___DeviceProps.PlatformType.ValueType
    requireFullSync: _builtins.bool
    @_builtins.property
    def version(self) -> Global___DeviceProps.AppVersion: ...
    @_builtins.property
    def historySyncConfig(self) -> Global___DeviceProps.HistorySyncConfig: ...
    def __init__(
        self,
        *,
        os: _builtins.str | None = ...,
        version: Global___DeviceProps.AppVersion | None = ...,
        platformType: Global___DeviceProps.PlatformType.ValueType | None = ...,
        requireFullSync: _builtins.bool | None = ...,
        historySyncConfig: Global___DeviceProps.HistorySyncConfig | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["historySyncConfig", b"historySyncConfig", "os", b"os", "platformType", b"platformType", "requireFullSync", b"requireFullSync", "version", b"version"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["historySyncConfig", b"historySyncConfig", "os", b"os", "platformType", b"platformType", "requireFullSync", b"requireFullSync", "version", b"version"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___DeviceProps: _TypeAlias = DeviceProps  # noqa: Y015

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

    PUBLICKEY_FIELD_NUMBER: _builtins.int
    DEVICETYPE_FIELD_NUMBER: _builtins.int
    REF_FIELD_NUMBER: _builtins.int
    publicKey: _builtins.bytes
    deviceType: Global___DeviceProps.PlatformType.ValueType
    ref: _builtins.str
    def __init__(
        self,
        *,
        publicKey: _builtins.bytes | None = ...,
        deviceType: Global___DeviceProps.PlatformType.ValueType | None = ...,
        ref: _builtins.str | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["deviceType", b"deviceType", "publicKey", b"publicKey", "ref", b"ref"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["deviceType", b"deviceType", "publicKey", b"publicKey", "ref", b"ref"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___CompanionEphemeralIdentity: _TypeAlias = CompanionEphemeralIdentity  # noqa: Y015

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

    HASH_FIELD_NUMBER: _builtins.int
    hash: _builtins.bytes
    def __init__(
        self,
        *,
        hash: _builtins.bytes | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["hash", b"hash"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["hash", b"hash"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___CompanionCommitment: _TypeAlias = CompanionCommitment  # noqa: Y015

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

    COMPANIONEPHEMERALIDENTITY_FIELD_NUMBER: _builtins.int
    COMMITMENT_FIELD_NUMBER: _builtins.int
    companionEphemeralIdentity: _builtins.bytes
    @_builtins.property
    def commitment(self) -> Global___CompanionCommitment: ...
    def __init__(
        self,
        *,
        companionEphemeralIdentity: _builtins.bytes | None = ...,
        commitment: Global___CompanionCommitment | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["commitment", b"commitment", "companionEphemeralIdentity", b"companionEphemeralIdentity"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["commitment", b"commitment", "companionEphemeralIdentity", b"companionEphemeralIdentity"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ProloguePayload: _TypeAlias = ProloguePayload  # noqa: Y015

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

    PUBLICKEY_FIELD_NUMBER: _builtins.int
    NONCE_FIELD_NUMBER: _builtins.int
    publicKey: _builtins.bytes
    nonce: _builtins.bytes
    def __init__(
        self,
        *,
        publicKey: _builtins.bytes | None = ...,
        nonce: _builtins.bytes | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["nonce", b"nonce", "publicKey", b"publicKey"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["nonce", b"nonce", "publicKey", b"publicKey"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___PrimaryEphemeralIdentity: _TypeAlias = PrimaryEphemeralIdentity  # noqa: Y015

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

    COMPANIONPUBLICKEY_FIELD_NUMBER: _builtins.int
    COMPANIONIDENTITYKEY_FIELD_NUMBER: _builtins.int
    ADVSECRET_FIELD_NUMBER: _builtins.int
    companionPublicKey: _builtins.bytes
    companionIdentityKey: _builtins.bytes
    advSecret: _builtins.bytes
    def __init__(
        self,
        *,
        companionPublicKey: _builtins.bytes | None = ...,
        companionIdentityKey: _builtins.bytes | None = ...,
        advSecret: _builtins.bytes | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["advSecret", b"advSecret", "companionIdentityKey", b"companionIdentityKey", "companionPublicKey", b"companionPublicKey"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["advSecret", b"advSecret", "companionIdentityKey", b"companionIdentityKey", "companionPublicKey", b"companionPublicKey"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___PairingRequest: _TypeAlias = PairingRequest  # noqa: Y015

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

    ENCRYPTEDPAYLOAD_FIELD_NUMBER: _builtins.int
    IV_FIELD_NUMBER: _builtins.int
    encryptedPayload: _builtins.bytes
    IV: _builtins.bytes
    def __init__(
        self,
        *,
        encryptedPayload: _builtins.bytes | None = ...,
        IV: _builtins.bytes | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["IV", b"IV", "encryptedPayload", b"encryptedPayload"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["IV", b"IV", "encryptedPayload", b"encryptedPayload"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___EncryptedPairingRequest: _TypeAlias = EncryptedPairingRequest  # noqa: Y015

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

    ISCHATDBLIDMIGRATED_FIELD_NUMBER: _builtins.int
    ISSYNCDPURELIDSESSION_FIELD_NUMBER: _builtins.int
    ISSYNCDSNAPSHOTRECOVERYENABLED_FIELD_NUMBER: _builtins.int
    isChatDbLidMigrated: _builtins.bool
    isSyncdPureLidSession: _builtins.bool
    isSyncdSnapshotRecoveryEnabled: _builtins.bool
    def __init__(
        self,
        *,
        isChatDbLidMigrated: _builtins.bool | None = ...,
        isSyncdPureLidSession: _builtins.bool | None = ...,
        isSyncdSnapshotRecoveryEnabled: _builtins.bool | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["isChatDbLidMigrated", b"isChatDbLidMigrated", "isSyncdPureLidSession", b"isSyncdPureLidSession", "isSyncdSnapshotRecoveryEnabled", b"isSyncdSnapshotRecoveryEnabled"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["isChatDbLidMigrated", b"isChatDbLidMigrated", "isSyncdPureLidSession", b"isSyncdPureLidSession", "isSyncdSnapshotRecoveryEnabled", b"isSyncdSnapshotRecoveryEnabled"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ClientPairingProps: _TypeAlias = ClientPairingProps  # noqa: Y015
