"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.extension_dict
import google.protobuf.message
import pyatv.protocols.mrp.protobuf.Common_pb2
import pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class DeviceInfoMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    UNIQUEIDENTIFIER_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    LOCALIZEDMODELNAME_FIELD_NUMBER: builtins.int
    SYSTEMBUILDVERSION_FIELD_NUMBER: builtins.int
    APPLICATIONBUNDLEIDENTIFIER_FIELD_NUMBER: builtins.int
    APPLICATIONBUNDLEVERSION_FIELD_NUMBER: builtins.int
    PROTOCOLVERSION_FIELD_NUMBER: builtins.int
    LASTSUPPORTEDMESSAGETYPE_FIELD_NUMBER: builtins.int
    SUPPORTSSYSTEMPAIRING_FIELD_NUMBER: builtins.int
    ALLOWSPAIRING_FIELD_NUMBER: builtins.int
    CONNECTED_FIELD_NUMBER: builtins.int
    SYSTEMMEDIAAPPLICATION_FIELD_NUMBER: builtins.int
    SUPPORTSACL_FIELD_NUMBER: builtins.int
    SUPPORTSSHAREDQUEUE_FIELD_NUMBER: builtins.int
    SUPPORTSEXTENDEDMOTION_FIELD_NUMBER: builtins.int
    BLUETOOTHADDRESS_FIELD_NUMBER: builtins.int
    SHAREDQUEUEVERSION_FIELD_NUMBER: builtins.int
    DEVICEUID_FIELD_NUMBER: builtins.int
    MANAGEDCONFIGDEVICEID_FIELD_NUMBER: builtins.int
    DEVICECLASS_FIELD_NUMBER: builtins.int
    LOGICALDEVICECOUNT_FIELD_NUMBER: builtins.int
    TIGHTLYSYNCEDGROUP_FIELD_NUMBER: builtins.int
    ISPROXYGROUPPLAYER_FIELD_NUMBER: builtins.int
    TIGHTSYNCUID_FIELD_NUMBER: builtins.int
    GROUPUID_FIELD_NUMBER: builtins.int
    GROUPNAME_FIELD_NUMBER: builtins.int
    GROUPEDDEVICES_FIELD_NUMBER: builtins.int
    ISGROUPLEADER_FIELD_NUMBER: builtins.int
    ISAIRPLAYACTIVE_FIELD_NUMBER: builtins.int
    SYSTEMPODCASTAPPLICATION_FIELD_NUMBER: builtins.int
    ENDERDEFAULTGROUPUID_FIELD_NUMBER: builtins.int
    AIRPLAYRECEIVERS_FIELD_NUMBER: builtins.int
    LINKAGENT_FIELD_NUMBER: builtins.int
    CLUSTERID_FIELD_NUMBER: builtins.int
    CLUSTERLEADERID_FIELD_NUMBER: builtins.int
    CLUSTERTYPE_FIELD_NUMBER: builtins.int
    ISCLUSTERAWARE_FIELD_NUMBER: builtins.int
    MODELID_FIELD_NUMBER: builtins.int
    # Example: B8D8678C-9DA9-4D29-9338-5D6B827B8063
    uniqueIdentifier: typing.Text = ...
    # Example: Jean's iPhone
    name: typing.Text = ...
    # Example: iPhone
    localizedModelName: typing.Text = ...
    # Example: 13F69
    systemBuildVersion: typing.Text = ...
    # Example: com.example.myremote
    applicationBundleIdentifier: typing.Text = ...
    # Example: 107
    applicationBundleVersion: typing.Text = ...
    # Example: 1
    protocolVersion: builtins.int = ...
    lastSupportedMessageType: builtins.int = ...
    supportsSystemPairing: builtins.bool = ...
    allowsPairing: builtins.bool = ...
    connected: builtins.bool = ...
    systemMediaApplication: typing.Text = ...
    supportsACL: builtins.bool = ...
    supportsSharedQueue: builtins.bool = ...
    supportsExtendedMotion: builtins.bool = ...
    bluetoothAddress: builtins.bytes = ...
    sharedQueueVersion: builtins.int = ...
    deviceUID: typing.Text = ...
    managedConfigDeviceID: typing.Text = ...
    deviceClass: pyatv.protocols.mrp.protobuf.Common_pb2.DeviceClass.Enum.V = ...
    logicalDeviceCount: builtins.int = ...
    tightlySyncedGroup: builtins.bool = ...
    isProxyGroupPlayer: builtins.bool = ...
    tightSyncUID: typing.Text = ...
    groupUID: typing.Text = ...
    groupName: typing.Text = ...
    @property
    def groupedDevices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DeviceInfoMessage]: ...
    isGroupLeader: builtins.bool = ...
    isAirplayActive: builtins.bool = ...
    systemPodcastApplication: typing.Text = ...
    enderDefaultGroupUID: typing.Text = ...
    @property
    def airplayReceivers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    linkAgent: typing.Text = ...
    clusterID: typing.Text = ...
    clusterLeaderID: typing.Text = ...
    clusterType: builtins.int = ...
    isClusterAware: builtins.bool = ...
    modelID: typing.Text = ...
    def __init__(self,
        *,
        uniqueIdentifier : typing.Optional[typing.Text] = ...,
        name : typing.Optional[typing.Text] = ...,
        localizedModelName : typing.Optional[typing.Text] = ...,
        systemBuildVersion : typing.Optional[typing.Text] = ...,
        applicationBundleIdentifier : typing.Optional[typing.Text] = ...,
        applicationBundleVersion : typing.Optional[typing.Text] = ...,
        protocolVersion : typing.Optional[builtins.int] = ...,
        lastSupportedMessageType : typing.Optional[builtins.int] = ...,
        supportsSystemPairing : typing.Optional[builtins.bool] = ...,
        allowsPairing : typing.Optional[builtins.bool] = ...,
        connected : typing.Optional[builtins.bool] = ...,
        systemMediaApplication : typing.Optional[typing.Text] = ...,
        supportsACL : typing.Optional[builtins.bool] = ...,
        supportsSharedQueue : typing.Optional[builtins.bool] = ...,
        supportsExtendedMotion : typing.Optional[builtins.bool] = ...,
        bluetoothAddress : typing.Optional[builtins.bytes] = ...,
        sharedQueueVersion : typing.Optional[builtins.int] = ...,
        deviceUID : typing.Optional[typing.Text] = ...,
        managedConfigDeviceID : typing.Optional[typing.Text] = ...,
        deviceClass : typing.Optional[pyatv.protocols.mrp.protobuf.Common_pb2.DeviceClass.Enum.V] = ...,
        logicalDeviceCount : typing.Optional[builtins.int] = ...,
        tightlySyncedGroup : typing.Optional[builtins.bool] = ...,
        isProxyGroupPlayer : typing.Optional[builtins.bool] = ...,
        tightSyncUID : typing.Optional[typing.Text] = ...,
        groupUID : typing.Optional[typing.Text] = ...,
        groupName : typing.Optional[typing.Text] = ...,
        groupedDevices : typing.Optional[typing.Iterable[global___DeviceInfoMessage]] = ...,
        isGroupLeader : typing.Optional[builtins.bool] = ...,
        isAirplayActive : typing.Optional[builtins.bool] = ...,
        systemPodcastApplication : typing.Optional[typing.Text] = ...,
        enderDefaultGroupUID : typing.Optional[typing.Text] = ...,
        airplayReceivers : typing.Optional[typing.Iterable[typing.Text]] = ...,
        linkAgent : typing.Optional[typing.Text] = ...,
        clusterID : typing.Optional[typing.Text] = ...,
        clusterLeaderID : typing.Optional[typing.Text] = ...,
        clusterType : typing.Optional[builtins.int] = ...,
        isClusterAware : typing.Optional[builtins.bool] = ...,
        modelID : typing.Optional[typing.Text] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"allowsPairing",b"allowsPairing",u"applicationBundleIdentifier",b"applicationBundleIdentifier",u"applicationBundleVersion",b"applicationBundleVersion",u"bluetoothAddress",b"bluetoothAddress",u"clusterID",b"clusterID",u"clusterLeaderID",b"clusterLeaderID",u"clusterType",b"clusterType",u"connected",b"connected",u"deviceClass",b"deviceClass",u"deviceUID",b"deviceUID",u"enderDefaultGroupUID",b"enderDefaultGroupUID",u"groupName",b"groupName",u"groupUID",b"groupUID",u"isAirplayActive",b"isAirplayActive",u"isClusterAware",b"isClusterAware",u"isGroupLeader",b"isGroupLeader",u"isProxyGroupPlayer",b"isProxyGroupPlayer",u"lastSupportedMessageType",b"lastSupportedMessageType",u"linkAgent",b"linkAgent",u"localizedModelName",b"localizedModelName",u"logicalDeviceCount",b"logicalDeviceCount",u"managedConfigDeviceID",b"managedConfigDeviceID",u"modelID",b"modelID",u"name",b"name",u"protocolVersion",b"protocolVersion",u"sharedQueueVersion",b"sharedQueueVersion",u"supportsACL",b"supportsACL",u"supportsExtendedMotion",b"supportsExtendedMotion",u"supportsSharedQueue",b"supportsSharedQueue",u"supportsSystemPairing",b"supportsSystemPairing",u"systemBuildVersion",b"systemBuildVersion",u"systemMediaApplication",b"systemMediaApplication",u"systemPodcastApplication",b"systemPodcastApplication",u"tightSyncUID",b"tightSyncUID",u"tightlySyncedGroup",b"tightlySyncedGroup",u"uniqueIdentifier",b"uniqueIdentifier"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"airplayReceivers",b"airplayReceivers",u"allowsPairing",b"allowsPairing",u"applicationBundleIdentifier",b"applicationBundleIdentifier",u"applicationBundleVersion",b"applicationBundleVersion",u"bluetoothAddress",b"bluetoothAddress",u"clusterID",b"clusterID",u"clusterLeaderID",b"clusterLeaderID",u"clusterType",b"clusterType",u"connected",b"connected",u"deviceClass",b"deviceClass",u"deviceUID",b"deviceUID",u"enderDefaultGroupUID",b"enderDefaultGroupUID",u"groupName",b"groupName",u"groupUID",b"groupUID",u"groupedDevices",b"groupedDevices",u"isAirplayActive",b"isAirplayActive",u"isClusterAware",b"isClusterAware",u"isGroupLeader",b"isGroupLeader",u"isProxyGroupPlayer",b"isProxyGroupPlayer",u"lastSupportedMessageType",b"lastSupportedMessageType",u"linkAgent",b"linkAgent",u"localizedModelName",b"localizedModelName",u"logicalDeviceCount",b"logicalDeviceCount",u"managedConfigDeviceID",b"managedConfigDeviceID",u"modelID",b"modelID",u"name",b"name",u"protocolVersion",b"protocolVersion",u"sharedQueueVersion",b"sharedQueueVersion",u"supportsACL",b"supportsACL",u"supportsExtendedMotion",b"supportsExtendedMotion",u"supportsSharedQueue",b"supportsSharedQueue",u"supportsSystemPairing",b"supportsSystemPairing",u"systemBuildVersion",b"systemBuildVersion",u"systemMediaApplication",b"systemMediaApplication",u"systemPodcastApplication",b"systemPodcastApplication",u"tightSyncUID",b"tightSyncUID",u"tightlySyncedGroup",b"tightlySyncedGroup",u"uniqueIdentifier",b"uniqueIdentifier"]) -> None: ...
global___DeviceInfoMessage = DeviceInfoMessage

deviceInfoMessage: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2.ProtocolMessage, global___DeviceInfoMessage] = ...
