"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import typing
import typing_extensions

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

class ErrorCode(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class Enum(_Enum, metaclass=_EnumEnumTypeWrapper):
        pass
    class _Enum:
        V = typing.NewType('V', builtins.int)
    class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Enum.V], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        NoError = ErrorCode.Enum.V(0)
        UnknownError = ErrorCode.Enum.V(1)
        InvalidOperation = ErrorCode.Enum.V(2)
        OperationNotPermitted = ErrorCode.Enum.V(3)
        ClientDoesNotExist = ErrorCode.Enum.V(4)
        OriginDoesNotExist = ErrorCode.Enum.V(5)
        UnsupportedOperation = ErrorCode.Enum.V(6)
        FailedToSetPickedRoute = ErrorCode.Enum.V(7)
        FailedToRegisterCustomOrigin = ErrorCode.Enum.V(8)
        FailedToRemoveCustomOrigin = ErrorCode.Enum.V(9)
        TheApplicationActivityDoesNotExist = ErrorCode.Enum.V(10)
        TheAppHasNotSetupABrowsableContentEndpoint = ErrorCode.Enum.V(11)
        TheRequestedBrowsableContentApiIsNotSupportedByTheApplication = ErrorCode.Enum.V(12)
        TheNotficationHasNotBeenWhitelistedByTheServer = ErrorCode.Enum.V(13)
        OperationRequiresAClientCallbackToHaveBeenRegistered = ErrorCode.Enum.V(14)
        OperationRequiresAClientDataSourceToHaveBeenRegistered = ErrorCode.Enum.V(15)
        RequestedDataIsOutOfDateAndShouldBeRequestedAgain = ErrorCode.Enum.V(16)
        # The system will ignore the volume adjustment until overridden.
        TheDevicesEnforcedVolumeLimitHasBeenExceeded = ErrorCode.Enum.V(17)
        # between 0.0 and 1.0, where 1.0 is the loudest
        VolumeValueIsOutOfRange = ErrorCode.Enum.V(18)
        VolumeIsAlreadyAtTheMaximumValue = ErrorCode.Enum.V(19)
        VolumeIsAlreadyMuted = ErrorCode.Enum.V(20)
        VoiceInputEndpointDoesNotExist = ErrorCode.Enum.V(21)
        TheVoiceInputDeviceIsNotRegisteredOrDoesNotExist = ErrorCode.Enum.V(22)
        EncryptionFailure = ErrorCode.Enum.V(23)
        EndpointDoesNotExist = ErrorCode.Enum.V(24)
        TheClientsApplicationCancelledTheOperation = ErrorCode.Enum.V(25)
        TheOperationTimedOut = ErrorCode.Enum.V(26)
        TheSpecifiedPlayerPathObjectWasInvalid = ErrorCode.Enum.V(27)
        AddingOrRemovingDevicesFromTheAvOutputContextHasFailed = ErrorCode.Enum.V(28)
        CouldNotFindTheSpecifiedNowPlayingPlayer = ErrorCode.Enum.V(29)
        TheSpecifiedContentItemDoesNotExist = ErrorCode.Enum.V(30)
        TheSpecifiedOffsetIsInvalid = ErrorCode.Enum.V(31)
        TheSpecifiedOutputContextIsInvalid = ErrorCode.Enum.V(32)
        OneOrMoreSpecifiedOutputDevicesAreNotGroupable = ErrorCode.Enum.V(33)
        TheSpecifiedOutputContextDoesNotSupportAddingMoreThanOneOutputDevice = ErrorCode.Enum.V(34)
        CouldNotFindTheSpecifiedNowPlayingClient = ErrorCode.Enum.V(35)
        EndpointVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = ErrorCode.Enum.V(36)
        OutputDeviceVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = ErrorCode.Enum.V(37)
        CoderMustSupportKeyValueCoding = ErrorCode.Enum.V(38)
        CouldNotFindTheGivenOutputdevice = ErrorCode.Enum.V(39)
        FailedToConnectToRemoteDevice = ErrorCode.Enum.V(100)
        AuthenticationTokenIsInvalid = ErrorCode.Enum.V(101)
        RecordingSessionIsAlreadyInProgressOnThisDevice = ErrorCode.Enum.V(102)
        TheDeviceIsNotCurrentlyRecording = ErrorCode.Enum.V(103)
        TheClientHasDisconnected = ErrorCode.Enum.V(104)
        TheServerHasDisconnected = ErrorCode.Enum.V(105)
        TheConnectionHasBeenCancelledByTheClient = ErrorCode.Enum.V(106)
        PairingFunctionalityIsLockedDueToSecurityReasons = ErrorCode.Enum.V(107)
        TheClientsOperatingSystemVersionIsTooOld = ErrorCode.Enum.V(108)
        TheClientsApplicationVersionIsTooOld = ErrorCode.Enum.V(109)
        TheDeviceIsNotPaired = ErrorCode.Enum.V(110)
        ThePinPairingDialogWasRemovedByTheUserBeforePairingOccoured = ErrorCode.Enum.V(111)
        ThePinPairingDialogWasRemovedByATimeoutBeforePairingOccoured = ErrorCode.Enum.V(112)
        TheConnectionTimedout = ErrorCode.Enum.V(113)
        PairingWithThisDeviceIsBlocked = ErrorCode.Enum.V(114)
        TheDeviceIsGoingToSleep = ErrorCode.Enum.V(115)
        ConnectionBlockedByServer = ErrorCode.Enum.V(116)
        MravendpointWasDeallocatedWhileWaitingForDeviceToConnect = ErrorCode.Enum.V(117)
        OutputContextModificationCausedADeviceToNoLongerBeAProxyGroupPlayer = ErrorCode.Enum.V(200)
        OutputContextModificationCausedADeviceToBecomeAProxyGroupPlayer = ErrorCode.Enum.V(201)
        OutputContextModificationRequestedNoTopologyChange = ErrorCode.Enum.V(202)
        OtherUnknownError = ErrorCode.Enum.V(299)

    NoError = ErrorCode.Enum.V(0)
    UnknownError = ErrorCode.Enum.V(1)
    InvalidOperation = ErrorCode.Enum.V(2)
    OperationNotPermitted = ErrorCode.Enum.V(3)
    ClientDoesNotExist = ErrorCode.Enum.V(4)
    OriginDoesNotExist = ErrorCode.Enum.V(5)
    UnsupportedOperation = ErrorCode.Enum.V(6)
    FailedToSetPickedRoute = ErrorCode.Enum.V(7)
    FailedToRegisterCustomOrigin = ErrorCode.Enum.V(8)
    FailedToRemoveCustomOrigin = ErrorCode.Enum.V(9)
    TheApplicationActivityDoesNotExist = ErrorCode.Enum.V(10)
    TheAppHasNotSetupABrowsableContentEndpoint = ErrorCode.Enum.V(11)
    TheRequestedBrowsableContentApiIsNotSupportedByTheApplication = ErrorCode.Enum.V(12)
    TheNotficationHasNotBeenWhitelistedByTheServer = ErrorCode.Enum.V(13)
    OperationRequiresAClientCallbackToHaveBeenRegistered = ErrorCode.Enum.V(14)
    OperationRequiresAClientDataSourceToHaveBeenRegistered = ErrorCode.Enum.V(15)
    RequestedDataIsOutOfDateAndShouldBeRequestedAgain = ErrorCode.Enum.V(16)
    # The system will ignore the volume adjustment until overridden.
    TheDevicesEnforcedVolumeLimitHasBeenExceeded = ErrorCode.Enum.V(17)
    # between 0.0 and 1.0, where 1.0 is the loudest
    VolumeValueIsOutOfRange = ErrorCode.Enum.V(18)
    VolumeIsAlreadyAtTheMaximumValue = ErrorCode.Enum.V(19)
    VolumeIsAlreadyMuted = ErrorCode.Enum.V(20)
    VoiceInputEndpointDoesNotExist = ErrorCode.Enum.V(21)
    TheVoiceInputDeviceIsNotRegisteredOrDoesNotExist = ErrorCode.Enum.V(22)
    EncryptionFailure = ErrorCode.Enum.V(23)
    EndpointDoesNotExist = ErrorCode.Enum.V(24)
    TheClientsApplicationCancelledTheOperation = ErrorCode.Enum.V(25)
    TheOperationTimedOut = ErrorCode.Enum.V(26)
    TheSpecifiedPlayerPathObjectWasInvalid = ErrorCode.Enum.V(27)
    AddingOrRemovingDevicesFromTheAvOutputContextHasFailed = ErrorCode.Enum.V(28)
    CouldNotFindTheSpecifiedNowPlayingPlayer = ErrorCode.Enum.V(29)
    TheSpecifiedContentItemDoesNotExist = ErrorCode.Enum.V(30)
    TheSpecifiedOffsetIsInvalid = ErrorCode.Enum.V(31)
    TheSpecifiedOutputContextIsInvalid = ErrorCode.Enum.V(32)
    OneOrMoreSpecifiedOutputDevicesAreNotGroupable = ErrorCode.Enum.V(33)
    TheSpecifiedOutputContextDoesNotSupportAddingMoreThanOneOutputDevice = ErrorCode.Enum.V(34)
    CouldNotFindTheSpecifiedNowPlayingClient = ErrorCode.Enum.V(35)
    EndpointVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = ErrorCode.Enum.V(36)
    OutputDeviceVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = ErrorCode.Enum.V(37)
    CoderMustSupportKeyValueCoding = ErrorCode.Enum.V(38)
    CouldNotFindTheGivenOutputdevice = ErrorCode.Enum.V(39)
    FailedToConnectToRemoteDevice = ErrorCode.Enum.V(100)
    AuthenticationTokenIsInvalid = ErrorCode.Enum.V(101)
    RecordingSessionIsAlreadyInProgressOnThisDevice = ErrorCode.Enum.V(102)
    TheDeviceIsNotCurrentlyRecording = ErrorCode.Enum.V(103)
    TheClientHasDisconnected = ErrorCode.Enum.V(104)
    TheServerHasDisconnected = ErrorCode.Enum.V(105)
    TheConnectionHasBeenCancelledByTheClient = ErrorCode.Enum.V(106)
    PairingFunctionalityIsLockedDueToSecurityReasons = ErrorCode.Enum.V(107)
    TheClientsOperatingSystemVersionIsTooOld = ErrorCode.Enum.V(108)
    TheClientsApplicationVersionIsTooOld = ErrorCode.Enum.V(109)
    TheDeviceIsNotPaired = ErrorCode.Enum.V(110)
    ThePinPairingDialogWasRemovedByTheUserBeforePairingOccoured = ErrorCode.Enum.V(111)
    ThePinPairingDialogWasRemovedByATimeoutBeforePairingOccoured = ErrorCode.Enum.V(112)
    TheConnectionTimedout = ErrorCode.Enum.V(113)
    PairingWithThisDeviceIsBlocked = ErrorCode.Enum.V(114)
    TheDeviceIsGoingToSleep = ErrorCode.Enum.V(115)
    ConnectionBlockedByServer = ErrorCode.Enum.V(116)
    MravendpointWasDeallocatedWhileWaitingForDeviceToConnect = ErrorCode.Enum.V(117)
    OutputContextModificationCausedADeviceToNoLongerBeAProxyGroupPlayer = ErrorCode.Enum.V(200)
    OutputContextModificationCausedADeviceToBecomeAProxyGroupPlayer = ErrorCode.Enum.V(201)
    OutputContextModificationRequestedNoTopologyChange = ErrorCode.Enum.V(202)
    OtherUnknownError = ErrorCode.Enum.V(299)

    def __init__(self,
        ) -> None: ...
global___ErrorCode = ErrorCode

class ProtocolMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class Type(_Type, metaclass=_TypeEnumTypeWrapper):
        pass
    class _Type:
        V = typing.NewType('V', builtins.int)
    class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Type.V], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        UNKNOWN_MESSAGE = ProtocolMessage.Type.V(0)
        SEND_COMMAND_MESSAGE = ProtocolMessage.Type.V(1)
        SEND_COMMAND_RESULT_MESSAGE = ProtocolMessage.Type.V(2)
        GET_STATE_MESSAGE = ProtocolMessage.Type.V(3)
        SET_STATE_MESSAGE = ProtocolMessage.Type.V(4)
        SET_ARTWORK_MESSAGE = ProtocolMessage.Type.V(5)
        REGISTER_HID_DEVICE_MESSAGE = ProtocolMessage.Type.V(6)
        REGISTER_HID_DEVICE_RESULT_MESSAGE = ProtocolMessage.Type.V(7)
        SEND_HID_EVENT_MESSAGE = ProtocolMessage.Type.V(8)
        SEND_HID_REPORT_MESSAGE = ProtocolMessage.Type.V(9)
        SEND_VIRTUAL_TOUCH_EVENT_MESSAGE = ProtocolMessage.Type.V(10)
        NOTIFICATION_MESSAGE = ProtocolMessage.Type.V(11)
        CONTENT_ITEMS_CHANGED_NOTIFICATION_MESSAGE = ProtocolMessage.Type.V(12)
        DEVICE_INFO_MESSAGE = ProtocolMessage.Type.V(15)
        CLIENT_UPDATES_CONFIG_MESSAGE = ProtocolMessage.Type.V(16)
        VOLUME_CONTROL_AVAILABILITY_MESSAGE = ProtocolMessage.Type.V(17)
        GAME_CONTROLLER_MESSAGE = ProtocolMessage.Type.V(18)
        REGISTER_GAME_CONTROLLER_MESSAGE = ProtocolMessage.Type.V(19)
        REGISTER_GAME_CONTROLLER_RESPONSE_MESSAGE = ProtocolMessage.Type.V(20)
        UNREGISTER_GAME_CONTROLLER_MESSAGE = ProtocolMessage.Type.V(21)
        REGISTER_FOR_GAME_CONTROLLER_EVENTS_MESSAGE = ProtocolMessage.Type.V(22)
        KEYBOARD_MESSAGE = ProtocolMessage.Type.V(23)
        GET_KEYBOARD_SESSION_MESSAGE = ProtocolMessage.Type.V(24)
        TEXT_INPUT_MESSAGE = ProtocolMessage.Type.V(25)
        GET_VOICE_INPUT_DEVICES_MESSAGE = ProtocolMessage.Type.V(26)
        GET_VOICE_INPUT_DEVICES_RESPONSE_MESSAGE = ProtocolMessage.Type.V(27)
        REGISTER_VOICE_INPUT_DEVICE_MESSAGE = ProtocolMessage.Type.V(28)
        REGISTER_VOICE_INPUT_DEVICE_RESPONSE_MESSAGE = ProtocolMessage.Type.V(29)
        SET_RECORDING_STATE_MESSAGE = ProtocolMessage.Type.V(30)
        SEND_VOICE_INPUT_MESSAGE = ProtocolMessage.Type.V(31)
        PLAYBACK_QUEUE_REQUEST_MESSAGE = ProtocolMessage.Type.V(32)
        TRANSACTION_MESSAGE = ProtocolMessage.Type.V(33)
        CRYPTO_PAIRING_MESSAGE = ProtocolMessage.Type.V(34)
        GAME_CONTROLLER_PROPERTIES_MESSAGE = ProtocolMessage.Type.V(35)
        SET_READY_STATE_MESSAGE = ProtocolMessage.Type.V(36)
        DEVICE_INFO_UPDATE_MESSAGE = ProtocolMessage.Type.V(37)
        SET_CONNECTION_STATE_MESSAGE = ProtocolMessage.Type.V(38)
        SEND_BUTTON_EVENT = ProtocolMessage.Type.V(39)
        SET_HILITE_MODE_MESSAGE = ProtocolMessage.Type.V(40)
        WAKE_DEVICE_MESSAGE = ProtocolMessage.Type.V(41)
        GENERIC_MESSAGE = ProtocolMessage.Type.V(42)
        SEND_PACKED_VIRTUAL_TOUCH_EVENT_MESSAGE = ProtocolMessage.Type.V(43)
        SEND_LYRICS_EVENT = ProtocolMessage.Type.V(44)
        SET_NOW_PLAYING_CLIENT_MESSAGE = ProtocolMessage.Type.V(46)
        SET_NOW_PLAYING_PLAYER_MESSAGE = ProtocolMessage.Type.V(47)
        GET_VOLUME_MESSAGE = ProtocolMessage.Type.V(49)
        GET_VOLUME_RESULT_MESSAGE = ProtocolMessage.Type.V(50)
        SET_VOLUME_MESSAGE = ProtocolMessage.Type.V(51)
        VOLUME_DID_CHANGE_MESSAGE = ProtocolMessage.Type.V(52)
        REMOVE_CLIENT_MESSAGE = ProtocolMessage.Type.V(53)
        REMOVE_PLAYER_MESSAGE = ProtocolMessage.Type.V(54)
        UPDATE_CLIENT_MESSAGE = ProtocolMessage.Type.V(55)
        UPDATE_CONTENT_ITEM_MESSAGE = ProtocolMessage.Type.V(56)
        UPDATE_CONTENT_ITEM_ARTWORK_MESSAGE = ProtocolMessage.Type.V(57)
        UPDATE_PLAYER_MESSAGE = ProtocolMessage.Type.V(58)
        PROMPT_FOR_ROUTE_AUTHORIZATION_MESSAGE = ProtocolMessage.Type.V(59)
        PROMPT_FOR_ROUTE_AUTHORIZATION_RESPONSE_MESSAGE = ProtocolMessage.Type.V(60)
        PRESENT_ROUTE_AUTHORIZATION_STATUS_MESSAGE = ProtocolMessage.Type.V(61)
        GET_VOLUME_CONTROL_CAPABILITIES_MESSAGE = ProtocolMessage.Type.V(62)
        GET_VOLUME_CONTROL_CAPABILITIES_RESULT_MESSAGE = ProtocolMessage.Type.V(63)
        VOLUME_CONTROL_CAPABILITIES_DID_CHANGE_MESSAGE = ProtocolMessage.Type.V(64)
        UPDATE_OUTPUT_DEVICE_MESSAGE = ProtocolMessage.Type.V(65)
        REMOVE_OUTPUT_DEVICES_MESSAGE = ProtocolMessage.Type.V(66)
        REMOTE_TEXT_INPUT_MESSAGE = ProtocolMessage.Type.V(67)
        GET_REMOTE_TEXT_INPUT_SESSION_MESSAGE = ProtocolMessage.Type.V(68)
        # Same as 66?
        REMOVE_OUTPUT_DEVICES_MESSAGE2 = ProtocolMessage.Type.V(69)
        PLAYBACK_SESSION_REQUEST_MESSAGE = ProtocolMessage.Type.V(70)
        PLAYBACK_SESSION_RESPONSE_MESSAGE = ProtocolMessage.Type.V(71)
        SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE = ProtocolMessage.Type.V(72)
        PLAYBACK_SESSION_MIGRATE_REQUEST_MESSAGE = ProtocolMessage.Type.V(73)
        PLAYBACK_SESSION_MIGRATE_RESPONSE_MESSAGE = ProtocolMessage.Type.V(74)
        PLAYBACK_SESSION_MIGRATE_BEGIN_MESSAGE = ProtocolMessage.Type.V(75)
        PLAYBACK_SESSION_MIGRATE_END_MESSAGE = ProtocolMessage.Type.V(76)
        UPDATE_ACTIVE_SYSTEM_ENDPOINT_MESSAGE = ProtocolMessage.Type.V(77)
        SET_DISCOVERY_MODE_MESSAGE = ProtocolMessage.Type.V(101)
        UPDATE_END_POINTS_MESSAGE = ProtocolMessage.Type.V(102)
        REMOVE_ENDPOINTS_MESSAGE = ProtocolMessage.Type.V(103)
        PLAYER_CLIENT_PROPERTIES_MESSAGE = ProtocolMessage.Type.V(104)
        ORIGIN_CLIENT_PROPERTIES_MESSAGE = ProtocolMessage.Type.V(105)
        AUDIO_FADE_MESSAGE = ProtocolMessage.Type.V(106)
        AUDIO_FADE_RESPONSE_MESSAGE = ProtocolMessage.Type.V(107)

    UNKNOWN_MESSAGE = ProtocolMessage.Type.V(0)
    SEND_COMMAND_MESSAGE = ProtocolMessage.Type.V(1)
    SEND_COMMAND_RESULT_MESSAGE = ProtocolMessage.Type.V(2)
    GET_STATE_MESSAGE = ProtocolMessage.Type.V(3)
    SET_STATE_MESSAGE = ProtocolMessage.Type.V(4)
    SET_ARTWORK_MESSAGE = ProtocolMessage.Type.V(5)
    REGISTER_HID_DEVICE_MESSAGE = ProtocolMessage.Type.V(6)
    REGISTER_HID_DEVICE_RESULT_MESSAGE = ProtocolMessage.Type.V(7)
    SEND_HID_EVENT_MESSAGE = ProtocolMessage.Type.V(8)
    SEND_HID_REPORT_MESSAGE = ProtocolMessage.Type.V(9)
    SEND_VIRTUAL_TOUCH_EVENT_MESSAGE = ProtocolMessage.Type.V(10)
    NOTIFICATION_MESSAGE = ProtocolMessage.Type.V(11)
    CONTENT_ITEMS_CHANGED_NOTIFICATION_MESSAGE = ProtocolMessage.Type.V(12)
    DEVICE_INFO_MESSAGE = ProtocolMessage.Type.V(15)
    CLIENT_UPDATES_CONFIG_MESSAGE = ProtocolMessage.Type.V(16)
    VOLUME_CONTROL_AVAILABILITY_MESSAGE = ProtocolMessage.Type.V(17)
    GAME_CONTROLLER_MESSAGE = ProtocolMessage.Type.V(18)
    REGISTER_GAME_CONTROLLER_MESSAGE = ProtocolMessage.Type.V(19)
    REGISTER_GAME_CONTROLLER_RESPONSE_MESSAGE = ProtocolMessage.Type.V(20)
    UNREGISTER_GAME_CONTROLLER_MESSAGE = ProtocolMessage.Type.V(21)
    REGISTER_FOR_GAME_CONTROLLER_EVENTS_MESSAGE = ProtocolMessage.Type.V(22)
    KEYBOARD_MESSAGE = ProtocolMessage.Type.V(23)
    GET_KEYBOARD_SESSION_MESSAGE = ProtocolMessage.Type.V(24)
    TEXT_INPUT_MESSAGE = ProtocolMessage.Type.V(25)
    GET_VOICE_INPUT_DEVICES_MESSAGE = ProtocolMessage.Type.V(26)
    GET_VOICE_INPUT_DEVICES_RESPONSE_MESSAGE = ProtocolMessage.Type.V(27)
    REGISTER_VOICE_INPUT_DEVICE_MESSAGE = ProtocolMessage.Type.V(28)
    REGISTER_VOICE_INPUT_DEVICE_RESPONSE_MESSAGE = ProtocolMessage.Type.V(29)
    SET_RECORDING_STATE_MESSAGE = ProtocolMessage.Type.V(30)
    SEND_VOICE_INPUT_MESSAGE = ProtocolMessage.Type.V(31)
    PLAYBACK_QUEUE_REQUEST_MESSAGE = ProtocolMessage.Type.V(32)
    TRANSACTION_MESSAGE = ProtocolMessage.Type.V(33)
    CRYPTO_PAIRING_MESSAGE = ProtocolMessage.Type.V(34)
    GAME_CONTROLLER_PROPERTIES_MESSAGE = ProtocolMessage.Type.V(35)
    SET_READY_STATE_MESSAGE = ProtocolMessage.Type.V(36)
    DEVICE_INFO_UPDATE_MESSAGE = ProtocolMessage.Type.V(37)
    SET_CONNECTION_STATE_MESSAGE = ProtocolMessage.Type.V(38)
    SEND_BUTTON_EVENT = ProtocolMessage.Type.V(39)
    SET_HILITE_MODE_MESSAGE = ProtocolMessage.Type.V(40)
    WAKE_DEVICE_MESSAGE = ProtocolMessage.Type.V(41)
    GENERIC_MESSAGE = ProtocolMessage.Type.V(42)
    SEND_PACKED_VIRTUAL_TOUCH_EVENT_MESSAGE = ProtocolMessage.Type.V(43)
    SEND_LYRICS_EVENT = ProtocolMessage.Type.V(44)
    SET_NOW_PLAYING_CLIENT_MESSAGE = ProtocolMessage.Type.V(46)
    SET_NOW_PLAYING_PLAYER_MESSAGE = ProtocolMessage.Type.V(47)
    GET_VOLUME_MESSAGE = ProtocolMessage.Type.V(49)
    GET_VOLUME_RESULT_MESSAGE = ProtocolMessage.Type.V(50)
    SET_VOLUME_MESSAGE = ProtocolMessage.Type.V(51)
    VOLUME_DID_CHANGE_MESSAGE = ProtocolMessage.Type.V(52)
    REMOVE_CLIENT_MESSAGE = ProtocolMessage.Type.V(53)
    REMOVE_PLAYER_MESSAGE = ProtocolMessage.Type.V(54)
    UPDATE_CLIENT_MESSAGE = ProtocolMessage.Type.V(55)
    UPDATE_CONTENT_ITEM_MESSAGE = ProtocolMessage.Type.V(56)
    UPDATE_CONTENT_ITEM_ARTWORK_MESSAGE = ProtocolMessage.Type.V(57)
    UPDATE_PLAYER_MESSAGE = ProtocolMessage.Type.V(58)
    PROMPT_FOR_ROUTE_AUTHORIZATION_MESSAGE = ProtocolMessage.Type.V(59)
    PROMPT_FOR_ROUTE_AUTHORIZATION_RESPONSE_MESSAGE = ProtocolMessage.Type.V(60)
    PRESENT_ROUTE_AUTHORIZATION_STATUS_MESSAGE = ProtocolMessage.Type.V(61)
    GET_VOLUME_CONTROL_CAPABILITIES_MESSAGE = ProtocolMessage.Type.V(62)
    GET_VOLUME_CONTROL_CAPABILITIES_RESULT_MESSAGE = ProtocolMessage.Type.V(63)
    VOLUME_CONTROL_CAPABILITIES_DID_CHANGE_MESSAGE = ProtocolMessage.Type.V(64)
    UPDATE_OUTPUT_DEVICE_MESSAGE = ProtocolMessage.Type.V(65)
    REMOVE_OUTPUT_DEVICES_MESSAGE = ProtocolMessage.Type.V(66)
    REMOTE_TEXT_INPUT_MESSAGE = ProtocolMessage.Type.V(67)
    GET_REMOTE_TEXT_INPUT_SESSION_MESSAGE = ProtocolMessage.Type.V(68)
    # Same as 66?
    REMOVE_OUTPUT_DEVICES_MESSAGE2 = ProtocolMessage.Type.V(69)
    PLAYBACK_SESSION_REQUEST_MESSAGE = ProtocolMessage.Type.V(70)
    PLAYBACK_SESSION_RESPONSE_MESSAGE = ProtocolMessage.Type.V(71)
    SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE = ProtocolMessage.Type.V(72)
    PLAYBACK_SESSION_MIGRATE_REQUEST_MESSAGE = ProtocolMessage.Type.V(73)
    PLAYBACK_SESSION_MIGRATE_RESPONSE_MESSAGE = ProtocolMessage.Type.V(74)
    PLAYBACK_SESSION_MIGRATE_BEGIN_MESSAGE = ProtocolMessage.Type.V(75)
    PLAYBACK_SESSION_MIGRATE_END_MESSAGE = ProtocolMessage.Type.V(76)
    UPDATE_ACTIVE_SYSTEM_ENDPOINT_MESSAGE = ProtocolMessage.Type.V(77)
    SET_DISCOVERY_MODE_MESSAGE = ProtocolMessage.Type.V(101)
    UPDATE_END_POINTS_MESSAGE = ProtocolMessage.Type.V(102)
    REMOVE_ENDPOINTS_MESSAGE = ProtocolMessage.Type.V(103)
    PLAYER_CLIENT_PROPERTIES_MESSAGE = ProtocolMessage.Type.V(104)
    ORIGIN_CLIENT_PROPERTIES_MESSAGE = ProtocolMessage.Type.V(105)
    AUDIO_FADE_MESSAGE = ProtocolMessage.Type.V(106)
    AUDIO_FADE_RESPONSE_MESSAGE = ProtocolMessage.Type.V(107)

    TYPE_FIELD_NUMBER: builtins.int
    IDENTIFIER_FIELD_NUMBER: builtins.int
    AUTHENTICATIONTOKEN_FIELD_NUMBER: builtins.int
    ERRORCODE_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    ERRORDESCRIPTION_FIELD_NUMBER: builtins.int
    UNIQUEIDENTIFIER_FIELD_NUMBER: builtins.int
    # Identifies which underlying message is filled in.
    type: global___ProtocolMessage.Type.V = ...
    identifier: typing.Text = ...
    authenticationToken: typing.Text = ...
    errorCode: global___ErrorCode.Enum.V = ...
    timestamp: builtins.int = ...
    errorDescription: typing.Text = ...
    uniqueIdentifier: typing.Text = ...
    def __init__(self,
        *,
        type : typing.Optional[global___ProtocolMessage.Type.V] = ...,
        identifier : typing.Optional[typing.Text] = ...,
        authenticationToken : typing.Optional[typing.Text] = ...,
        errorCode : typing.Optional[global___ErrorCode.Enum.V] = ...,
        timestamp : typing.Optional[builtins.int] = ...,
        errorDescription : typing.Optional[typing.Text] = ...,
        uniqueIdentifier : typing.Optional[typing.Text] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"authenticationToken",b"authenticationToken",u"errorCode",b"errorCode",u"errorDescription",b"errorDescription",u"identifier",b"identifier",u"timestamp",b"timestamp",u"type",b"type",u"uniqueIdentifier",b"uniqueIdentifier"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"authenticationToken",b"authenticationToken",u"errorCode",b"errorCode",u"errorDescription",b"errorDescription",u"identifier",b"identifier",u"timestamp",b"timestamp",u"type",b"type",u"uniqueIdentifier",b"uniqueIdentifier"]) -> None: ...
global___ProtocolMessage = ProtocolMessage
