"""
@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 DeviceCapabilities(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

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

    class _MemberNameTagPrimarySupportEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[DeviceCapabilities._MemberNameTagPrimarySupport.ValueType], _builtins.type):
        DESCRIPTOR: _descriptor.EnumDescriptor
        DISABLED: DeviceCapabilities._MemberNameTagPrimarySupport.ValueType  # 0
        RECEIVER_ENABLED: DeviceCapabilities._MemberNameTagPrimarySupport.ValueType  # 1
        SENDER_ENABLED: DeviceCapabilities._MemberNameTagPrimarySupport.ValueType  # 2

    class MemberNameTagPrimarySupport(_MemberNameTagPrimarySupport, metaclass=_MemberNameTagPrimarySupportEnumTypeWrapper): ...
    DISABLED: DeviceCapabilities.MemberNameTagPrimarySupport.ValueType  # 0
    RECEIVER_ENABLED: DeviceCapabilities.MemberNameTagPrimarySupport.ValueType  # 1
    SENDER_ENABLED: DeviceCapabilities.MemberNameTagPrimarySupport.ValueType  # 2

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

    class _ChatLockSupportLevelEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[DeviceCapabilities._ChatLockSupportLevel.ValueType], _builtins.type):
        DESCRIPTOR: _descriptor.EnumDescriptor
        NONE: DeviceCapabilities._ChatLockSupportLevel.ValueType  # 0
        MINIMAL: DeviceCapabilities._ChatLockSupportLevel.ValueType  # 1
        FULL: DeviceCapabilities._ChatLockSupportLevel.ValueType  # 2

    class ChatLockSupportLevel(_ChatLockSupportLevel, metaclass=_ChatLockSupportLevelEnumTypeWrapper): ...
    NONE: DeviceCapabilities.ChatLockSupportLevel.ValueType  # 0
    MINIMAL: DeviceCapabilities.ChatLockSupportLevel.ValueType  # 1
    FULL: DeviceCapabilities.ChatLockSupportLevel.ValueType  # 2

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

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

        class _SupportLevelEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[DeviceCapabilities.AiThread._SupportLevel.ValueType], _builtins.type):
            DESCRIPTOR: _descriptor.EnumDescriptor
            NONE: DeviceCapabilities.AiThread._SupportLevel.ValueType  # 0
            INFRA: DeviceCapabilities.AiThread._SupportLevel.ValueType  # 1
            FULL: DeviceCapabilities.AiThread._SupportLevel.ValueType  # 2

        class SupportLevel(_SupportLevel, metaclass=_SupportLevelEnumTypeWrapper): ...
        NONE: DeviceCapabilities.AiThread.SupportLevel.ValueType  # 0
        INFRA: DeviceCapabilities.AiThread.SupportLevel.ValueType  # 1
        FULL: DeviceCapabilities.AiThread.SupportLevel.ValueType  # 2

        SUPPORTLEVEL_FIELD_NUMBER: _builtins.int
        supportLevel: Global___DeviceCapabilities.AiThread.SupportLevel.ValueType
        def __init__(
            self,
            *,
            supportLevel: Global___DeviceCapabilities.AiThread.SupportLevel.ValueType | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["supportLevel", b"supportLevel"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["supportLevel", b"supportLevel"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

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

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

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

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

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

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

    CHATLOCKSUPPORTLEVEL_FIELD_NUMBER: _builtins.int
    LIDMIGRATION_FIELD_NUMBER: _builtins.int
    BUSINESSBROADCAST_FIELD_NUMBER: _builtins.int
    USERHASAVATAR_FIELD_NUMBER: _builtins.int
    MEMBERNAMETAGPRIMARYSUPPORT_FIELD_NUMBER: _builtins.int
    AITHREAD_FIELD_NUMBER: _builtins.int
    chatLockSupportLevel: Global___DeviceCapabilities.ChatLockSupportLevel.ValueType
    memberNameTagPrimarySupport: Global___DeviceCapabilities.MemberNameTagPrimarySupport.ValueType
    @_builtins.property
    def lidMigration(self) -> Global___DeviceCapabilities.LIDMigration: ...
    @_builtins.property
    def businessBroadcast(self) -> Global___DeviceCapabilities.BusinessBroadcast: ...
    @_builtins.property
    def userHasAvatar(self) -> Global___DeviceCapabilities.UserHasAvatar: ...
    @_builtins.property
    def aiThread(self) -> Global___DeviceCapabilities.AiThread: ...
    def __init__(
        self,
        *,
        chatLockSupportLevel: Global___DeviceCapabilities.ChatLockSupportLevel.ValueType | None = ...,
        lidMigration: Global___DeviceCapabilities.LIDMigration | None = ...,
        businessBroadcast: Global___DeviceCapabilities.BusinessBroadcast | None = ...,
        userHasAvatar: Global___DeviceCapabilities.UserHasAvatar | None = ...,
        memberNameTagPrimarySupport: Global___DeviceCapabilities.MemberNameTagPrimarySupport.ValueType | None = ...,
        aiThread: Global___DeviceCapabilities.AiThread | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["aiThread", b"aiThread", "businessBroadcast", b"businessBroadcast", "chatLockSupportLevel", b"chatLockSupportLevel", "lidMigration", b"lidMigration", "memberNameTagPrimarySupport", b"memberNameTagPrimarySupport", "userHasAvatar", b"userHasAvatar"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["aiThread", b"aiThread", "businessBroadcast", b"businessBroadcast", "chatLockSupportLevel", b"chatLockSupportLevel", "lidMigration", b"lidMigration", "memberNameTagPrimarySupport", b"memberNameTagPrimarySupport", "userHasAvatar", b"userHasAvatar"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___DeviceCapabilities: _TypeAlias = DeviceCapabilities  # noqa: Y015
