"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    EnumDescriptor as google___protobuf___descriptor___EnumDescriptor,
    FileDescriptor as google___protobuf___descriptor___FileDescriptor,
)

from google.protobuf.internal.enum_type_wrapper import (
    _EnumTypeWrapper as google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper,
)

from google.protobuf.message import (
    Message as google___protobuf___message___Message,
)

from typing import (
    NewType as typing___NewType,
    Optional as typing___Optional,
    Text as typing___Text,
    cast as typing___cast,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


builtin___bool = bool
builtin___bytes = bytes
builtin___float = float
builtin___int = int


DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...

class ErrorCode(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    EnumValue = typing___NewType('EnumValue', builtin___int)
    type___EnumValue = EnumValue
    Enum: _Enum
    class _Enum(google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper[ErrorCode.EnumValue]):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        NoError = typing___cast(ErrorCode.EnumValue, 0)
        UnknownError = typing___cast(ErrorCode.EnumValue, 1)
        InvalidOperation = typing___cast(ErrorCode.EnumValue, 2)
        OperationNotPermitted = typing___cast(ErrorCode.EnumValue, 3)
        ClientDoesNotExist = typing___cast(ErrorCode.EnumValue, 4)
        OriginDoesNotExist = typing___cast(ErrorCode.EnumValue, 5)
        UnsupportedOperation = typing___cast(ErrorCode.EnumValue, 6)
        FailedToSetPickedRoute = typing___cast(ErrorCode.EnumValue, 7)
        FailedToRegisterCustomOrigin = typing___cast(ErrorCode.EnumValue, 8)
        FailedToRemoveCustomOrigin = typing___cast(ErrorCode.EnumValue, 9)
        TheApplicationActivityDoesNotExist = typing___cast(ErrorCode.EnumValue, 10)
        TheAppHasNotSetupABrowsableContentEndpoint = typing___cast(ErrorCode.EnumValue, 11)
        TheRequestedBrowsableContentApiIsNotSupportedByTheApplication = typing___cast(ErrorCode.EnumValue, 12)
        TheNotficationHasNotBeenWhitelistedByTheServer = typing___cast(ErrorCode.EnumValue, 13)
        OperationRequiresAClientCallbackToHaveBeenRegistered = typing___cast(ErrorCode.EnumValue, 14)
        OperationRequiresAClientDataSourceToHaveBeenRegistered = typing___cast(ErrorCode.EnumValue, 15)
        RequestedDataIsOutOfDateAndShouldBeRequestedAgain = typing___cast(ErrorCode.EnumValue, 16)
        TheDevicesEnforcedVolumeLimitHasBeenExceeded = typing___cast(ErrorCode.EnumValue, 17)
        VolumeValueIsOutOfRange = typing___cast(ErrorCode.EnumValue, 18)
        VolumeIsAlreadyAtTheMaximumValue = typing___cast(ErrorCode.EnumValue, 19)
        VolumeIsAlreadyMuted = typing___cast(ErrorCode.EnumValue, 20)
        VoiceInputEndpointDoesNotExist = typing___cast(ErrorCode.EnumValue, 21)
        TheVoiceInputDeviceIsNotRegisteredOrDoesNotExist = typing___cast(ErrorCode.EnumValue, 22)
        EncryptionFailure = typing___cast(ErrorCode.EnumValue, 23)
        EndpointDoesNotExist = typing___cast(ErrorCode.EnumValue, 24)
        TheClientsApplicationCancelledTheOperation = typing___cast(ErrorCode.EnumValue, 25)
        TheOperationTimedOut = typing___cast(ErrorCode.EnumValue, 26)
        TheSpecifiedPlayerPathObjectWasInvalid = typing___cast(ErrorCode.EnumValue, 27)
        AddingOrRemovingDevicesFromTheAvOutputContextHasFailed = typing___cast(ErrorCode.EnumValue, 28)
        CouldNotFindTheSpecifiedNowPlayingPlayer = typing___cast(ErrorCode.EnumValue, 29)
        TheSpecifiedContentItemDoesNotExist = typing___cast(ErrorCode.EnumValue, 30)
        TheSpecifiedOffsetIsInvalid = typing___cast(ErrorCode.EnumValue, 31)
        TheSpecifiedOutputContextIsInvalid = typing___cast(ErrorCode.EnumValue, 32)
        OneOrMoreSpecifiedOutputDevicesAreNotGroupable = typing___cast(ErrorCode.EnumValue, 33)
        TheSpecifiedOutputContextDoesNotSupportAddingMoreThanOneOutputDevice = typing___cast(ErrorCode.EnumValue, 34)
        CouldNotFindTheSpecifiedNowPlayingClient = typing___cast(ErrorCode.EnumValue, 35)
        EndpointVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = typing___cast(ErrorCode.EnumValue, 36)
        OutputDeviceVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = typing___cast(ErrorCode.EnumValue, 37)
        CoderMustSupportKeyValueCoding = typing___cast(ErrorCode.EnumValue, 38)
        CouldNotFindTheGivenOutputdevice = typing___cast(ErrorCode.EnumValue, 39)
        FailedToConnectToRemoteDevice = typing___cast(ErrorCode.EnumValue, 100)
        AuthenticationTokenIsInvalid = typing___cast(ErrorCode.EnumValue, 101)
        RecordingSessionIsAlreadyInProgressOnThisDevice = typing___cast(ErrorCode.EnumValue, 102)
        TheDeviceIsNotCurrentlyRecording = typing___cast(ErrorCode.EnumValue, 103)
        TheClientHasDisconnected = typing___cast(ErrorCode.EnumValue, 104)
        TheServerHasDisconnected = typing___cast(ErrorCode.EnumValue, 105)
        TheConnectionHasBeenCancelledByTheClient = typing___cast(ErrorCode.EnumValue, 106)
        PairingFunctionalityIsLockedDueToSecurityReasons = typing___cast(ErrorCode.EnumValue, 107)
        TheClientsOperatingSystemVersionIsTooOld = typing___cast(ErrorCode.EnumValue, 108)
        TheClientsApplicationVersionIsTooOld = typing___cast(ErrorCode.EnumValue, 109)
        TheDeviceIsNotPaired = typing___cast(ErrorCode.EnumValue, 110)
        ThePinPairingDialogWasRemovedByTheUserBeforePairingOccoured = typing___cast(ErrorCode.EnumValue, 111)
        ThePinPairingDialogWasRemovedByATimeoutBeforePairingOccoured = typing___cast(ErrorCode.EnumValue, 112)
        TheConnectionTimedout = typing___cast(ErrorCode.EnumValue, 113)
        PairingWithThisDeviceIsBlocked = typing___cast(ErrorCode.EnumValue, 114)
        TheDeviceIsGoingToSleep = typing___cast(ErrorCode.EnumValue, 115)
        ConnectionBlockedByServer = typing___cast(ErrorCode.EnumValue, 116)
        MravendpointWasDeallocatedWhileWaitingForDeviceToConnect = typing___cast(ErrorCode.EnumValue, 117)
        OutputContextModificationCausedADeviceToNoLongerBeAProxyGroupPlayer = typing___cast(ErrorCode.EnumValue, 200)
        OutputContextModificationCausedADeviceToBecomeAProxyGroupPlayer = typing___cast(ErrorCode.EnumValue, 201)
        OutputContextModificationRequestedNoTopologyChange = typing___cast(ErrorCode.EnumValue, 202)
        OtherUnknownError = typing___cast(ErrorCode.EnumValue, 299)
    NoError = typing___cast(ErrorCode.EnumValue, 0)
    UnknownError = typing___cast(ErrorCode.EnumValue, 1)
    InvalidOperation = typing___cast(ErrorCode.EnumValue, 2)
    OperationNotPermitted = typing___cast(ErrorCode.EnumValue, 3)
    ClientDoesNotExist = typing___cast(ErrorCode.EnumValue, 4)
    OriginDoesNotExist = typing___cast(ErrorCode.EnumValue, 5)
    UnsupportedOperation = typing___cast(ErrorCode.EnumValue, 6)
    FailedToSetPickedRoute = typing___cast(ErrorCode.EnumValue, 7)
    FailedToRegisterCustomOrigin = typing___cast(ErrorCode.EnumValue, 8)
    FailedToRemoveCustomOrigin = typing___cast(ErrorCode.EnumValue, 9)
    TheApplicationActivityDoesNotExist = typing___cast(ErrorCode.EnumValue, 10)
    TheAppHasNotSetupABrowsableContentEndpoint = typing___cast(ErrorCode.EnumValue, 11)
    TheRequestedBrowsableContentApiIsNotSupportedByTheApplication = typing___cast(ErrorCode.EnumValue, 12)
    TheNotficationHasNotBeenWhitelistedByTheServer = typing___cast(ErrorCode.EnumValue, 13)
    OperationRequiresAClientCallbackToHaveBeenRegistered = typing___cast(ErrorCode.EnumValue, 14)
    OperationRequiresAClientDataSourceToHaveBeenRegistered = typing___cast(ErrorCode.EnumValue, 15)
    RequestedDataIsOutOfDateAndShouldBeRequestedAgain = typing___cast(ErrorCode.EnumValue, 16)
    TheDevicesEnforcedVolumeLimitHasBeenExceeded = typing___cast(ErrorCode.EnumValue, 17)
    VolumeValueIsOutOfRange = typing___cast(ErrorCode.EnumValue, 18)
    VolumeIsAlreadyAtTheMaximumValue = typing___cast(ErrorCode.EnumValue, 19)
    VolumeIsAlreadyMuted = typing___cast(ErrorCode.EnumValue, 20)
    VoiceInputEndpointDoesNotExist = typing___cast(ErrorCode.EnumValue, 21)
    TheVoiceInputDeviceIsNotRegisteredOrDoesNotExist = typing___cast(ErrorCode.EnumValue, 22)
    EncryptionFailure = typing___cast(ErrorCode.EnumValue, 23)
    EndpointDoesNotExist = typing___cast(ErrorCode.EnumValue, 24)
    TheClientsApplicationCancelledTheOperation = typing___cast(ErrorCode.EnumValue, 25)
    TheOperationTimedOut = typing___cast(ErrorCode.EnumValue, 26)
    TheSpecifiedPlayerPathObjectWasInvalid = typing___cast(ErrorCode.EnumValue, 27)
    AddingOrRemovingDevicesFromTheAvOutputContextHasFailed = typing___cast(ErrorCode.EnumValue, 28)
    CouldNotFindTheSpecifiedNowPlayingPlayer = typing___cast(ErrorCode.EnumValue, 29)
    TheSpecifiedContentItemDoesNotExist = typing___cast(ErrorCode.EnumValue, 30)
    TheSpecifiedOffsetIsInvalid = typing___cast(ErrorCode.EnumValue, 31)
    TheSpecifiedOutputContextIsInvalid = typing___cast(ErrorCode.EnumValue, 32)
    OneOrMoreSpecifiedOutputDevicesAreNotGroupable = typing___cast(ErrorCode.EnumValue, 33)
    TheSpecifiedOutputContextDoesNotSupportAddingMoreThanOneOutputDevice = typing___cast(ErrorCode.EnumValue, 34)
    CouldNotFindTheSpecifiedNowPlayingClient = typing___cast(ErrorCode.EnumValue, 35)
    EndpointVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = typing___cast(ErrorCode.EnumValue, 36)
    OutputDeviceVolumeControlIsOnlyPossibleIfTheEndpointIsPickedOrRemoteControllable = typing___cast(ErrorCode.EnumValue, 37)
    CoderMustSupportKeyValueCoding = typing___cast(ErrorCode.EnumValue, 38)
    CouldNotFindTheGivenOutputdevice = typing___cast(ErrorCode.EnumValue, 39)
    FailedToConnectToRemoteDevice = typing___cast(ErrorCode.EnumValue, 100)
    AuthenticationTokenIsInvalid = typing___cast(ErrorCode.EnumValue, 101)
    RecordingSessionIsAlreadyInProgressOnThisDevice = typing___cast(ErrorCode.EnumValue, 102)
    TheDeviceIsNotCurrentlyRecording = typing___cast(ErrorCode.EnumValue, 103)
    TheClientHasDisconnected = typing___cast(ErrorCode.EnumValue, 104)
    TheServerHasDisconnected = typing___cast(ErrorCode.EnumValue, 105)
    TheConnectionHasBeenCancelledByTheClient = typing___cast(ErrorCode.EnumValue, 106)
    PairingFunctionalityIsLockedDueToSecurityReasons = typing___cast(ErrorCode.EnumValue, 107)
    TheClientsOperatingSystemVersionIsTooOld = typing___cast(ErrorCode.EnumValue, 108)
    TheClientsApplicationVersionIsTooOld = typing___cast(ErrorCode.EnumValue, 109)
    TheDeviceIsNotPaired = typing___cast(ErrorCode.EnumValue, 110)
    ThePinPairingDialogWasRemovedByTheUserBeforePairingOccoured = typing___cast(ErrorCode.EnumValue, 111)
    ThePinPairingDialogWasRemovedByATimeoutBeforePairingOccoured = typing___cast(ErrorCode.EnumValue, 112)
    TheConnectionTimedout = typing___cast(ErrorCode.EnumValue, 113)
    PairingWithThisDeviceIsBlocked = typing___cast(ErrorCode.EnumValue, 114)
    TheDeviceIsGoingToSleep = typing___cast(ErrorCode.EnumValue, 115)
    ConnectionBlockedByServer = typing___cast(ErrorCode.EnumValue, 116)
    MravendpointWasDeallocatedWhileWaitingForDeviceToConnect = typing___cast(ErrorCode.EnumValue, 117)
    OutputContextModificationCausedADeviceToNoLongerBeAProxyGroupPlayer = typing___cast(ErrorCode.EnumValue, 200)
    OutputContextModificationCausedADeviceToBecomeAProxyGroupPlayer = typing___cast(ErrorCode.EnumValue, 201)
    OutputContextModificationRequestedNoTopologyChange = typing___cast(ErrorCode.EnumValue, 202)
    OtherUnknownError = typing___cast(ErrorCode.EnumValue, 299)


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

class ProtocolMessage(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    TypeValue = typing___NewType('TypeValue', builtin___int)
    type___TypeValue = TypeValue
    Type: _Type
    class _Type(google___protobuf___internal___enum_type_wrapper____EnumTypeWrapper[ProtocolMessage.TypeValue]):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        UNKNOWN_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 0)
        SEND_COMMAND_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 1)
        SEND_COMMAND_RESULT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 2)
        GET_STATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 3)
        SET_STATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 4)
        SET_ARTWORK_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 5)
        REGISTER_HID_DEVICE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 6)
        REGISTER_HID_DEVICE_RESULT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 7)
        SEND_HID_EVENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 8)
        SEND_HID_REPORT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 9)
        SEND_VIRTUAL_TOUCH_EVENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 10)
        NOTIFICATION_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 11)
        CONTENT_ITEMS_CHANGED_NOTIFICATION_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 12)
        DEVICE_INFO_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 15)
        CLIENT_UPDATES_CONFIG_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 16)
        VOLUME_CONTROL_AVAILABILITY_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 17)
        GAME_CONTROLLER_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 18)
        REGISTER_GAME_CONTROLLER_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 19)
        REGISTER_GAME_CONTROLLER_RESPONSE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 20)
        UNREGISTER_GAME_CONTROLLER_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 21)
        REGISTER_FOR_GAME_CONTROLLER_EVENTS_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 22)
        KEYBOARD_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 23)
        GET_KEYBOARD_SESSION_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 24)
        TEXT_INPUT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 25)
        GET_VOICE_INPUT_DEVICES_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 26)
        GET_VOICE_INPUT_DEVICES_RESPONSE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 27)
        REGISTER_VOICE_INPUT_DEVICE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 28)
        REGISTER_VOICE_INPUT_DEVICE_RESPONSE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 29)
        SET_RECORDING_STATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 30)
        SEND_VOICE_INPUT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 31)
        PLAYBACK_QUEUE_REQUEST_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 32)
        TRANSACTION_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 33)
        CRYPTO_PAIRING_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 34)
        GAME_CONTROLLER_PROPERTIES_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 35)
        SET_READY_STATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 36)
        DEVICE_INFO_UPDATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 37)
        SET_CONNECTION_STATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 38)
        SEND_BUTTON_EVENT = typing___cast(ProtocolMessage.TypeValue, 39)
        SET_HILITE_MODE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 40)
        WAKE_DEVICE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 41)
        GENERIC_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 42)
        SEND_PACKED_VIRTUAL_TOUCH_EVENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 43)
        SEND_LYRICS_EVENT = typing___cast(ProtocolMessage.TypeValue, 44)
        SET_NOW_PLAYING_CLIENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 46)
        SET_NOW_PLAYING_PLAYER_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 47)
        GET_VOLUME_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 49)
        GET_VOLUME_RESULT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 50)
        SET_VOLUME_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 51)
        REMOVE_CLIENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 53)
        REMOVE_PLAYER_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 54)
        UPDATE_CLIENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 55)
        UPDATE_CONTENT_ITEM_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 56)
        VOLUME_CONTROL_CAPABILITIES_DID_CHANGE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 64)
        UPDATE_OUTPUT_DEVICE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 65)
        REMOTE_TEXT_INPUT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 67)
        GET_REMOTE_TEXT_INPUT_SESSION_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 68)
        SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 72)
        SET_DISCOVERY_MODE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 101)
        UPDATE_END_POINTS_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 102)
        REMOVE_ENDPOINTS_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 103)
        PLAYER_CLIENT_PROPERTIES_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 104)
        ORIGIN_CLIENT_PROPERTIES_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 105)
        AUDIO_FADE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 106)
        AUDIO_FADE_RESPONSE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 107)
    UNKNOWN_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 0)
    SEND_COMMAND_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 1)
    SEND_COMMAND_RESULT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 2)
    GET_STATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 3)
    SET_STATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 4)
    SET_ARTWORK_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 5)
    REGISTER_HID_DEVICE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 6)
    REGISTER_HID_DEVICE_RESULT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 7)
    SEND_HID_EVENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 8)
    SEND_HID_REPORT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 9)
    SEND_VIRTUAL_TOUCH_EVENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 10)
    NOTIFICATION_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 11)
    CONTENT_ITEMS_CHANGED_NOTIFICATION_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 12)
    DEVICE_INFO_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 15)
    CLIENT_UPDATES_CONFIG_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 16)
    VOLUME_CONTROL_AVAILABILITY_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 17)
    GAME_CONTROLLER_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 18)
    REGISTER_GAME_CONTROLLER_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 19)
    REGISTER_GAME_CONTROLLER_RESPONSE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 20)
    UNREGISTER_GAME_CONTROLLER_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 21)
    REGISTER_FOR_GAME_CONTROLLER_EVENTS_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 22)
    KEYBOARD_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 23)
    GET_KEYBOARD_SESSION_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 24)
    TEXT_INPUT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 25)
    GET_VOICE_INPUT_DEVICES_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 26)
    GET_VOICE_INPUT_DEVICES_RESPONSE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 27)
    REGISTER_VOICE_INPUT_DEVICE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 28)
    REGISTER_VOICE_INPUT_DEVICE_RESPONSE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 29)
    SET_RECORDING_STATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 30)
    SEND_VOICE_INPUT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 31)
    PLAYBACK_QUEUE_REQUEST_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 32)
    TRANSACTION_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 33)
    CRYPTO_PAIRING_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 34)
    GAME_CONTROLLER_PROPERTIES_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 35)
    SET_READY_STATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 36)
    DEVICE_INFO_UPDATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 37)
    SET_CONNECTION_STATE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 38)
    SEND_BUTTON_EVENT = typing___cast(ProtocolMessage.TypeValue, 39)
    SET_HILITE_MODE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 40)
    WAKE_DEVICE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 41)
    GENERIC_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 42)
    SEND_PACKED_VIRTUAL_TOUCH_EVENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 43)
    SEND_LYRICS_EVENT = typing___cast(ProtocolMessage.TypeValue, 44)
    SET_NOW_PLAYING_CLIENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 46)
    SET_NOW_PLAYING_PLAYER_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 47)
    GET_VOLUME_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 49)
    GET_VOLUME_RESULT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 50)
    SET_VOLUME_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 51)
    REMOVE_CLIENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 53)
    REMOVE_PLAYER_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 54)
    UPDATE_CLIENT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 55)
    UPDATE_CONTENT_ITEM_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 56)
    VOLUME_CONTROL_CAPABILITIES_DID_CHANGE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 64)
    UPDATE_OUTPUT_DEVICE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 65)
    REMOTE_TEXT_INPUT_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 67)
    GET_REMOTE_TEXT_INPUT_SESSION_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 68)
    SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 72)
    SET_DISCOVERY_MODE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 101)
    UPDATE_END_POINTS_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 102)
    REMOVE_ENDPOINTS_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 103)
    PLAYER_CLIENT_PROPERTIES_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 104)
    ORIGIN_CLIENT_PROPERTIES_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 105)
    AUDIO_FADE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 106)
    AUDIO_FADE_RESPONSE_MESSAGE = typing___cast(ProtocolMessage.TypeValue, 107)

    type: type___ProtocolMessage.TypeValue = ...
    identifier: typing___Text = ...
    authenticationToken: typing___Text = ...
    errorCode: type___ErrorCode.EnumValue = ...
    timestamp: builtin___int = ...
    errorDescription: typing___Text = ...
    uniqueIdentifier: typing___Text = ...

    def __init__(self,
        *,
        type : typing___Optional[type___ProtocolMessage.TypeValue] = None,
        identifier : typing___Optional[typing___Text] = None,
        authenticationToken : typing___Optional[typing___Text] = None,
        errorCode : typing___Optional[type___ErrorCode.EnumValue] = None,
        timestamp : typing___Optional[builtin___int] = None,
        errorDescription : typing___Optional[typing___Text] = None,
        uniqueIdentifier : typing___Optional[typing___Text] = None,
        ) -> 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"]) -> builtin___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: ...
type___ProtocolMessage = ProtocolMessage
