"""
@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.enum_type_wrapper
import google.protobuf.internal.extension_dict
import google.protobuf.message
import pyatv.protocols.mrp.protobuf.PlayerPath_pb2
import pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2
import typing
import typing_extensions

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

class SendError(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 = ...
        # This is None in original message definitions (no-go with python)
        NoError = SendError.Enum.V(0)
        ApplicationNotFound = SendError.Enum.V(1)
        ConnectionFailed = SendError.Enum.V(2)
        Ignored = SendError.Enum.V(3)
        CouldNotLaunchApplication = SendError.Enum.V(4)
        TimedOut = SendError.Enum.V(5)
        OriginDoesNotExist = SendError.Enum.V(6)
        InvalidOptions = SendError.Enum.V(7)
        NoCommandHandlers = SendError.Enum.V(8)
        ApplicationNotInstalled = SendError.Enum.V(9)
        NotSupported = SendError.Enum.V(10)

    # This is None in original message definitions (no-go with python)
    NoError = SendError.Enum.V(0)
    ApplicationNotFound = SendError.Enum.V(1)
    ConnectionFailed = SendError.Enum.V(2)
    Ignored = SendError.Enum.V(3)
    CouldNotLaunchApplication = SendError.Enum.V(4)
    TimedOut = SendError.Enum.V(5)
    OriginDoesNotExist = SendError.Enum.V(6)
    InvalidOptions = SendError.Enum.V(7)
    NoCommandHandlers = SendError.Enum.V(8)
    ApplicationNotInstalled = SendError.Enum.V(9)
    NotSupported = SendError.Enum.V(10)

    def __init__(self,
        ) -> None: ...
global___SendError = SendError

class HandlerReturnStatus(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 = ...
        Success = HandlerReturnStatus.Enum.V(0)
        NoSuchContent = HandlerReturnStatus.Enum.V(1)
        CommandFailed = HandlerReturnStatus.Enum.V(2)
        NoActionableNowPlayingItem = HandlerReturnStatus.Enum.V(10)
        DeviceNotFound = HandlerReturnStatus.Enum.V(20)
        UIKitLegacy = HandlerReturnStatus.Enum.V(3)
        SkipAdProhibited = HandlerReturnStatus.Enum.V(100)
        QueueIsUserCurated = HandlerReturnStatus.Enum.V(101)
        UserModifiedQueueDisabled = HandlerReturnStatus.Enum.V(102)
        UserQueueModificationNotSupportedForCurrentItem = HandlerReturnStatus.Enum.V(103)
        SubscriptionRequiredForSharedQueue = HandlerReturnStatus.Enum.V(104)
        InsertionPositionNotSpecified = HandlerReturnStatus.Enum.V(105)
        InvalidInsertionPosition = HandlerReturnStatus.Enum.V(106)
        RequestParametersOutOfBounds = HandlerReturnStatus.Enum.V(107)
        SkipLimitReached = HandlerReturnStatus.Enum.V(108)
        AuthenticationFailure = HandlerReturnStatus.Enum.V(401)
        MediaServiceUnavailable = HandlerReturnStatus.Enum.V(501)

    Success = HandlerReturnStatus.Enum.V(0)
    NoSuchContent = HandlerReturnStatus.Enum.V(1)
    CommandFailed = HandlerReturnStatus.Enum.V(2)
    NoActionableNowPlayingItem = HandlerReturnStatus.Enum.V(10)
    DeviceNotFound = HandlerReturnStatus.Enum.V(20)
    UIKitLegacy = HandlerReturnStatus.Enum.V(3)
    SkipAdProhibited = HandlerReturnStatus.Enum.V(100)
    QueueIsUserCurated = HandlerReturnStatus.Enum.V(101)
    UserModifiedQueueDisabled = HandlerReturnStatus.Enum.V(102)
    UserQueueModificationNotSupportedForCurrentItem = HandlerReturnStatus.Enum.V(103)
    SubscriptionRequiredForSharedQueue = HandlerReturnStatus.Enum.V(104)
    InsertionPositionNotSpecified = HandlerReturnStatus.Enum.V(105)
    InvalidInsertionPosition = HandlerReturnStatus.Enum.V(106)
    RequestParametersOutOfBounds = HandlerReturnStatus.Enum.V(107)
    SkipLimitReached = HandlerReturnStatus.Enum.V(108)
    AuthenticationFailure = HandlerReturnStatus.Enum.V(401)
    MediaServiceUnavailable = HandlerReturnStatus.Enum.V(501)

    def __init__(self,
        ) -> None: ...
global___HandlerReturnStatus = HandlerReturnStatus

class SendCommandStatusCode(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 = ...
        Success = SendCommandStatusCode.Enum.V(0)
        NoSuchContent = SendCommandStatusCode.Enum.V(1)
        CommandFailed = SendCommandStatusCode.Enum.V(2)
        NoActionableNowPlayingItem = SendCommandStatusCode.Enum.V(10)
        DeviceNotFound = SendCommandStatusCode.Enum.V(20)
        UIKitLegacy = SendCommandStatusCode.Enum.V(3)
        SkipAdProhibited = SendCommandStatusCode.Enum.V(100)
        QueueIsUserCurated = SendCommandStatusCode.Enum.V(101)
        UserModifiedQueueDisabled = SendCommandStatusCode.Enum.V(102)
        UserQueueModificationNotSupportedForCurrentItem = SendCommandStatusCode.Enum.V(103)
        SubscriptionRequiredForSharedQueue = SendCommandStatusCode.Enum.V(104)
        InsertionPositionNotSpecified = SendCommandStatusCode.Enum.V(105)
        InvalidInsertionPosition = SendCommandStatusCode.Enum.V(106)
        RequestParametersOutOfBounds = SendCommandStatusCode.Enum.V(107)
        SkipLimitReached = SendCommandStatusCode.Enum.V(108)
        AuthenticationFailure = SendCommandStatusCode.Enum.V(401)
        MediaServiceUnavailable = SendCommandStatusCode.Enum.V(501)

    Success = SendCommandStatusCode.Enum.V(0)
    NoSuchContent = SendCommandStatusCode.Enum.V(1)
    CommandFailed = SendCommandStatusCode.Enum.V(2)
    NoActionableNowPlayingItem = SendCommandStatusCode.Enum.V(10)
    DeviceNotFound = SendCommandStatusCode.Enum.V(20)
    UIKitLegacy = SendCommandStatusCode.Enum.V(3)
    SkipAdProhibited = SendCommandStatusCode.Enum.V(100)
    QueueIsUserCurated = SendCommandStatusCode.Enum.V(101)
    UserModifiedQueueDisabled = SendCommandStatusCode.Enum.V(102)
    UserQueueModificationNotSupportedForCurrentItem = SendCommandStatusCode.Enum.V(103)
    SubscriptionRequiredForSharedQueue = SendCommandStatusCode.Enum.V(104)
    InsertionPositionNotSpecified = SendCommandStatusCode.Enum.V(105)
    InvalidInsertionPosition = SendCommandStatusCode.Enum.V(106)
    RequestParametersOutOfBounds = SendCommandStatusCode.Enum.V(107)
    SkipLimitReached = SendCommandStatusCode.Enum.V(108)
    AuthenticationFailure = SendCommandStatusCode.Enum.V(401)
    MediaServiceUnavailable = SendCommandStatusCode.Enum.V(501)

    def __init__(self,
        ) -> None: ...
global___SendCommandStatusCode = SendCommandStatusCode

class SendCommandResultType(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 = ...
        Dialog = SendCommandResultType.Enum.V(1)
        Error = SendCommandResultType.Enum.V(2)
        Custom = SendCommandResultType.Enum.V(999)

    Dialog = SendCommandResultType.Enum.V(1)
    Error = SendCommandResultType.Enum.V(2)
    Custom = SendCommandResultType.Enum.V(999)

    def __init__(self,
        ) -> None: ...
global___SendCommandResultType = SendCommandResultType

class SendCommandResultStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    STATUSCODE_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    CUSTOMDATA_FIELD_NUMBER: builtins.int
    CUSTOMDATATYPE_FIELD_NUMBER: builtins.int
    statusCode: global___SendCommandStatusCode.Enum.V = ...
    type: global___SendCommandResultType.Enum.V = ...
    # optional ... dialog = 3;
    # optional ... error = 4;
    customData: builtins.bytes = ...
    customDataType: typing.Text = ...
    def __init__(self,
        *,
        statusCode : typing.Optional[global___SendCommandStatusCode.Enum.V] = ...,
        type : typing.Optional[global___SendCommandResultType.Enum.V] = ...,
        customData : typing.Optional[builtins.bytes] = ...,
        customDataType : typing.Optional[typing.Text] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"customData",b"customData",u"customDataType",b"customDataType",u"statusCode",b"statusCode",u"type",b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"customData",b"customData",u"customDataType",b"customDataType",u"statusCode",b"statusCode",u"type",b"type"]) -> None: ...
global___SendCommandResultStatus = SendCommandResultStatus

class SendCommandResult(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PLAYERPATH_FIELD_NUMBER: builtins.int
    SENDERROR_FIELD_NUMBER: builtins.int
    STATUSES_FIELD_NUMBER: builtins.int
    @property
    def playerPath(self) -> pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath: ...
    sendError: global___SendError.Enum.V = ...
    @property
    def statuses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SendCommandResultStatus]: ...
    def __init__(self,
        *,
        playerPath : typing.Optional[pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath] = ...,
        sendError : typing.Optional[global___SendError.Enum.V] = ...,
        statuses : typing.Optional[typing.Iterable[global___SendCommandResultStatus]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"playerPath",b"playerPath",u"sendError",b"sendError"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"playerPath",b"playerPath",u"sendError",b"sendError",u"statuses",b"statuses"]) -> None: ...
global___SendCommandResult = SendCommandResult

class SendCommandResultMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SENDERROR_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUS_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUSDATAS_FIELD_NUMBER: builtins.int
    COMMANDID_FIELD_NUMBER: builtins.int
    PLAYERPATH_FIELD_NUMBER: builtins.int
    COMMANDRESULT_FIELD_NUMBER: builtins.int
    sendError: global___SendError.Enum.V = ...
    handlerReturnStatus: global___HandlerReturnStatus.Enum.V = ...
    @property
    def handlerReturnStatusDatas(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ...
    commandID: typing.Text = ...
    @property
    def playerPath(self) -> pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath: ...
    @property
    def commandResult(self) -> global___SendCommandResult: ...
    def __init__(self,
        *,
        sendError : typing.Optional[global___SendError.Enum.V] = ...,
        handlerReturnStatus : typing.Optional[global___HandlerReturnStatus.Enum.V] = ...,
        handlerReturnStatusDatas : typing.Optional[typing.Iterable[builtins.bytes]] = ...,
        commandID : typing.Optional[typing.Text] = ...,
        playerPath : typing.Optional[pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath] = ...,
        commandResult : typing.Optional[global___SendCommandResult] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"commandID",b"commandID",u"commandResult",b"commandResult",u"handlerReturnStatus",b"handlerReturnStatus",u"playerPath",b"playerPath",u"sendError",b"sendError"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"commandID",b"commandID",u"commandResult",b"commandResult",u"handlerReturnStatus",b"handlerReturnStatus",u"handlerReturnStatusDatas",b"handlerReturnStatusDatas",u"playerPath",b"playerPath",u"sendError",b"sendError"]) -> None: ...
global___SendCommandResultMessage = SendCommandResultMessage

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

05d7fb6dff824aba9bc573ee966b8881c2b32d4c
<mask token>


class SendCommandResultStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    STATUSCODE_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    CUSTOMDATA_FIELD_NUMBER: builtins.int
    CUSTOMDATATYPE_FIELD_NUMBER: builtins.int
    statusCode: global___SendCommandStatusCode.Enum.V = ...
    type: global___SendCommandResultType.Enum.V = ...
    customData: builtins.bytes = ...
    customDataType: typing.Text = ...

    def __init__(self, *, statusCode: typing.Optional[
        global___SendCommandStatusCode.Enum.V]=..., type: typing.Optional[
        global___SendCommandResultType.Enum.V]=..., customData: typing.
        Optional[builtins.bytes]=..., customDataType: typing.Optional[
        typing.Text]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'customData',
        b'customData', u'customDataType', b'customDataType', u'statusCode',
        b'statusCode', u'type', b'type']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[
        u'customData', b'customData', u'customDataType', b'customDataType',
        u'statusCode', b'statusCode', u'type', b'type']) ->None:
        ...


<mask token>


class SendCommandResult(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PLAYERPATH_FIELD_NUMBER: builtins.int
    SENDERROR_FIELD_NUMBER: builtins.int
    STATUSES_FIELD_NUMBER: builtins.int

    @property
    def playerPath(self
        ) ->pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath:
        ...
    sendError: global___SendError.Enum.V = ...

    @property
    def statuses(self
        ) ->google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___SendCommandResultStatus]:
        ...

    def __init__(self, *, playerPath: typing.Optional[pyatv.protocols.mrp.
        protobuf.PlayerPath_pb2.PlayerPath]=..., sendError: typing.Optional
        [global___SendError.Enum.V]=..., statuses: typing.Optional[typing.
        Iterable[global___SendCommandResultStatus]]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'playerPath',
        b'playerPath', u'sendError', b'sendError']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[
        u'playerPath', b'playerPath', u'sendError', b'sendError',
        u'statuses', b'statuses']) ->None:
        ...


<mask token>


class SendCommandResultMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SENDERROR_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUS_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUSDATAS_FIELD_NUMBER: builtins.int
    COMMANDID_FIELD_NUMBER: builtins.int
    PLAYERPATH_FIELD_NUMBER: builtins.int
    COMMANDRESULT_FIELD_NUMBER: builtins.int
    sendError: global___SendError.Enum.V = ...
    handlerReturnStatus: global___HandlerReturnStatus.Enum.V = ...

    @property
    def handlerReturnStatusDatas(self
        ) ->google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        builtins.bytes]:
        ...
    commandID: typing.Text = ...

    @property
    def playerPath(self
        ) ->pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath:
        ...

    @property
    def commandResult(self) ->global___SendCommandResult:
        ...

    def __init__(self, *, sendError: typing.Optional[global___SendError.
        Enum.V]=..., handlerReturnStatus: typing.Optional[
        global___HandlerReturnStatus.Enum.V]=..., handlerReturnStatusDatas:
        typing.Optional[typing.Iterable[builtins.bytes]]=..., commandID:
        typing.Optional[typing.Text]=..., playerPath: typing.Optional[pyatv
        .protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath]=...,
        commandResult: typing.Optional[global___SendCommandResult]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'commandID',
        b'commandID', u'commandResult', b'commandResult',
        u'handlerReturnStatus', b'handlerReturnStatus', u'playerPath',
        b'playerPath', u'sendError', b'sendError']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[u'commandID',
        b'commandID', u'commandResult', b'commandResult',
        u'handlerReturnStatus', b'handlerReturnStatus',
        u'handlerReturnStatusDatas', b'handlerReturnStatusDatas',
        u'playerPath', b'playerPath', u'sendError', b'sendError']) ->None:
        ...


<mask token>

<mask token>


class SendCommandResultType(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 = ...
        Dialog = SendCommandResultType.Enum.V(1)
        Error = SendCommandResultType.Enum.V(2)
        Custom = SendCommandResultType.Enum.V(999)
    <mask token>
    <mask token>
    <mask token>
    <mask token>


<mask token>


class SendCommandResultStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    STATUSCODE_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    CUSTOMDATA_FIELD_NUMBER: builtins.int
    CUSTOMDATATYPE_FIELD_NUMBER: builtins.int
    statusCode: global___SendCommandStatusCode.Enum.V = ...
    type: global___SendCommandResultType.Enum.V = ...
    customData: builtins.bytes = ...
    customDataType: typing.Text = ...

    def __init__(self, *, statusCode: typing.Optional[
        global___SendCommandStatusCode.Enum.V]=..., type: typing.Optional[
        global___SendCommandResultType.Enum.V]=..., customData: typing.
        Optional[builtins.bytes]=..., customDataType: typing.Optional[
        typing.Text]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'customData',
        b'customData', u'customDataType', b'customDataType', u'statusCode',
        b'statusCode', u'type', b'type']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[
        u'customData', b'customData', u'customDataType', b'customDataType',
        u'statusCode', b'statusCode', u'type', b'type']) ->None:
        ...


<mask token>


class SendCommandResult(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PLAYERPATH_FIELD_NUMBER: builtins.int
    SENDERROR_FIELD_NUMBER: builtins.int
    STATUSES_FIELD_NUMBER: builtins.int

    @property
    def playerPath(self
        ) ->pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath:
        ...
    sendError: global___SendError.Enum.V = ...

    @property
    def statuses(self
        ) ->google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___SendCommandResultStatus]:
        ...

    def __init__(self, *, playerPath: typing.Optional[pyatv.protocols.mrp.
        protobuf.PlayerPath_pb2.PlayerPath]=..., sendError: typing.Optional
        [global___SendError.Enum.V]=..., statuses: typing.Optional[typing.
        Iterable[global___SendCommandResultStatus]]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'playerPath',
        b'playerPath', u'sendError', b'sendError']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[
        u'playerPath', b'playerPath', u'sendError', b'sendError',
        u'statuses', b'statuses']) ->None:
        ...


<mask token>


class SendCommandResultMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SENDERROR_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUS_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUSDATAS_FIELD_NUMBER: builtins.int
    COMMANDID_FIELD_NUMBER: builtins.int
    PLAYERPATH_FIELD_NUMBER: builtins.int
    COMMANDRESULT_FIELD_NUMBER: builtins.int
    sendError: global___SendError.Enum.V = ...
    handlerReturnStatus: global___HandlerReturnStatus.Enum.V = ...

    @property
    def handlerReturnStatusDatas(self
        ) ->google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        builtins.bytes]:
        ...
    commandID: typing.Text = ...

    @property
    def playerPath(self
        ) ->pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath:
        ...

    @property
    def commandResult(self) ->global___SendCommandResult:
        ...

    def __init__(self, *, sendError: typing.Optional[global___SendError.
        Enum.V]=..., handlerReturnStatus: typing.Optional[
        global___HandlerReturnStatus.Enum.V]=..., handlerReturnStatusDatas:
        typing.Optional[typing.Iterable[builtins.bytes]]=..., commandID:
        typing.Optional[typing.Text]=..., playerPath: typing.Optional[pyatv
        .protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath]=...,
        commandResult: typing.Optional[global___SendCommandResult]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'commandID',
        b'commandID', u'commandResult', b'commandResult',
        u'handlerReturnStatus', b'handlerReturnStatus', u'playerPath',
        b'playerPath', u'sendError', b'sendError']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[u'commandID',
        b'commandID', u'commandResult', b'commandResult',
        u'handlerReturnStatus', b'handlerReturnStatus',
        u'handlerReturnStatusDatas', b'handlerReturnStatusDatas',
        u'playerPath', b'playerPath', u'sendError', b'sendError']) ->None:
        ...


<mask token>

<mask token>


class SendCommandStatusCode(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 = ...
        Success = SendCommandStatusCode.Enum.V(0)
        NoSuchContent = SendCommandStatusCode.Enum.V(1)
        CommandFailed = SendCommandStatusCode.Enum.V(2)
        NoActionableNowPlayingItem = SendCommandStatusCode.Enum.V(10)
        DeviceNotFound = SendCommandStatusCode.Enum.V(20)
        UIKitLegacy = SendCommandStatusCode.Enum.V(3)
        SkipAdProhibited = SendCommandStatusCode.Enum.V(100)
        QueueIsUserCurated = SendCommandStatusCode.Enum.V(101)
        UserModifiedQueueDisabled = SendCommandStatusCode.Enum.V(102)
        UserQueueModificationNotSupportedForCurrentItem = (
            SendCommandStatusCode.Enum.V(103))
        SubscriptionRequiredForSharedQueue = SendCommandStatusCode.Enum.V(104)
        InsertionPositionNotSpecified = SendCommandStatusCode.Enum.V(105)
        InvalidInsertionPosition = SendCommandStatusCode.Enum.V(106)
        RequestParametersOutOfBounds = SendCommandStatusCode.Enum.V(107)
        SkipLimitReached = SendCommandStatusCode.Enum.V(108)
        AuthenticationFailure = SendCommandStatusCode.Enum.V(401)
        MediaServiceUnavailable = SendCommandStatusCode.Enum.V(501)
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>
    <mask token>

    def __init__(self) ->None:
        ...


<mask token>


class SendCommandResultType(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 = ...
        Dialog = SendCommandResultType.Enum.V(1)
        Error = SendCommandResultType.Enum.V(2)
        Custom = SendCommandResultType.Enum.V(999)
    Dialog = SendCommandResultType.Enum.V(1)
    Error = SendCommandResultType.Enum.V(2)
    Custom = SendCommandResultType.Enum.V(999)

    def __init__(self) ->None:
        ...


<mask token>


class SendCommandResultStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    STATUSCODE_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    CUSTOMDATA_FIELD_NUMBER: builtins.int
    CUSTOMDATATYPE_FIELD_NUMBER: builtins.int
    statusCode: global___SendCommandStatusCode.Enum.V = ...
    type: global___SendCommandResultType.Enum.V = ...
    customData: builtins.bytes = ...
    customDataType: typing.Text = ...

    def __init__(self, *, statusCode: typing.Optional[
        global___SendCommandStatusCode.Enum.V]=..., type: typing.Optional[
        global___SendCommandResultType.Enum.V]=..., customData: typing.
        Optional[builtins.bytes]=..., customDataType: typing.Optional[
        typing.Text]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'customData',
        b'customData', u'customDataType', b'customDataType', u'statusCode',
        b'statusCode', u'type', b'type']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[
        u'customData', b'customData', u'customDataType', b'customDataType',
        u'statusCode', b'statusCode', u'type', b'type']) ->None:
        ...


<mask token>


class SendCommandResult(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PLAYERPATH_FIELD_NUMBER: builtins.int
    SENDERROR_FIELD_NUMBER: builtins.int
    STATUSES_FIELD_NUMBER: builtins.int

    @property
    def playerPath(self
        ) ->pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath:
        ...
    sendError: global___SendError.Enum.V = ...

    @property
    def statuses(self
        ) ->google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___SendCommandResultStatus]:
        ...

    def __init__(self, *, playerPath: typing.Optional[pyatv.protocols.mrp.
        protobuf.PlayerPath_pb2.PlayerPath]=..., sendError: typing.Optional
        [global___SendError.Enum.V]=..., statuses: typing.Optional[typing.
        Iterable[global___SendCommandResultStatus]]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'playerPath',
        b'playerPath', u'sendError', b'sendError']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[
        u'playerPath', b'playerPath', u'sendError', b'sendError',
        u'statuses', b'statuses']) ->None:
        ...


<mask token>


class SendCommandResultMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SENDERROR_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUS_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUSDATAS_FIELD_NUMBER: builtins.int
    COMMANDID_FIELD_NUMBER: builtins.int
    PLAYERPATH_FIELD_NUMBER: builtins.int
    COMMANDRESULT_FIELD_NUMBER: builtins.int
    sendError: global___SendError.Enum.V = ...
    handlerReturnStatus: global___HandlerReturnStatus.Enum.V = ...

    @property
    def handlerReturnStatusDatas(self
        ) ->google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        builtins.bytes]:
        ...
    commandID: typing.Text = ...

    @property
    def playerPath(self
        ) ->pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath:
        ...

    @property
    def commandResult(self) ->global___SendCommandResult:
        ...

    def __init__(self, *, sendError: typing.Optional[global___SendError.
        Enum.V]=..., handlerReturnStatus: typing.Optional[
        global___HandlerReturnStatus.Enum.V]=..., handlerReturnStatusDatas:
        typing.Optional[typing.Iterable[builtins.bytes]]=..., commandID:
        typing.Optional[typing.Text]=..., playerPath: typing.Optional[pyatv
        .protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath]=...,
        commandResult: typing.Optional[global___SendCommandResult]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'commandID',
        b'commandID', u'commandResult', b'commandResult',
        u'handlerReturnStatus', b'handlerReturnStatus', u'playerPath',
        b'playerPath', u'sendError', b'sendError']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[u'commandID',
        b'commandID', u'commandResult', b'commandResult',
        u'handlerReturnStatus', b'handlerReturnStatus',
        u'handlerReturnStatusDatas', b'handlerReturnStatusDatas',
        u'playerPath', b'playerPath', u'sendError', b'sendError']) ->None:
        ...


<mask token>

<mask token>


class SendError(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 = SendError.Enum.V(0)
        ApplicationNotFound = SendError.Enum.V(1)
        ConnectionFailed = SendError.Enum.V(2)
        Ignored = SendError.Enum.V(3)
        CouldNotLaunchApplication = SendError.Enum.V(4)
        TimedOut = SendError.Enum.V(5)
        OriginDoesNotExist = SendError.Enum.V(6)
        InvalidOptions = SendError.Enum.V(7)
        NoCommandHandlers = SendError.Enum.V(8)
        ApplicationNotInstalled = SendError.Enum.V(9)
        NotSupported = SendError.Enum.V(10)
    NoError = SendError.Enum.V(0)
    ApplicationNotFound = SendError.Enum.V(1)
    ConnectionFailed = SendError.Enum.V(2)
    Ignored = SendError.Enum.V(3)
    CouldNotLaunchApplication = SendError.Enum.V(4)
    TimedOut = SendError.Enum.V(5)
    OriginDoesNotExist = SendError.Enum.V(6)
    InvalidOptions = SendError.Enum.V(7)
    NoCommandHandlers = SendError.Enum.V(8)
    ApplicationNotInstalled = SendError.Enum.V(9)
    NotSupported = SendError.Enum.V(10)

    def __init__(self) ->None:
        ...


<mask token>


class HandlerReturnStatus(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 = ...
        Success = HandlerReturnStatus.Enum.V(0)
        NoSuchContent = HandlerReturnStatus.Enum.V(1)
        CommandFailed = HandlerReturnStatus.Enum.V(2)
        NoActionableNowPlayingItem = HandlerReturnStatus.Enum.V(10)
        DeviceNotFound = HandlerReturnStatus.Enum.V(20)
        UIKitLegacy = HandlerReturnStatus.Enum.V(3)
        SkipAdProhibited = HandlerReturnStatus.Enum.V(100)
        QueueIsUserCurated = HandlerReturnStatus.Enum.V(101)
        UserModifiedQueueDisabled = HandlerReturnStatus.Enum.V(102)
        UserQueueModificationNotSupportedForCurrentItem = (HandlerReturnStatus
            .Enum.V(103))
        SubscriptionRequiredForSharedQueue = HandlerReturnStatus.Enum.V(104)
        InsertionPositionNotSpecified = HandlerReturnStatus.Enum.V(105)
        InvalidInsertionPosition = HandlerReturnStatus.Enum.V(106)
        RequestParametersOutOfBounds = HandlerReturnStatus.Enum.V(107)
        SkipLimitReached = HandlerReturnStatus.Enum.V(108)
        AuthenticationFailure = HandlerReturnStatus.Enum.V(401)
        MediaServiceUnavailable = HandlerReturnStatus.Enum.V(501)
    Success = HandlerReturnStatus.Enum.V(0)
    NoSuchContent = HandlerReturnStatus.Enum.V(1)
    CommandFailed = HandlerReturnStatus.Enum.V(2)
    NoActionableNowPlayingItem = HandlerReturnStatus.Enum.V(10)
    DeviceNotFound = HandlerReturnStatus.Enum.V(20)
    UIKitLegacy = HandlerReturnStatus.Enum.V(3)
    SkipAdProhibited = HandlerReturnStatus.Enum.V(100)
    QueueIsUserCurated = HandlerReturnStatus.Enum.V(101)
    UserModifiedQueueDisabled = HandlerReturnStatus.Enum.V(102)
    UserQueueModificationNotSupportedForCurrentItem = (HandlerReturnStatus.
        Enum.V(103))
    SubscriptionRequiredForSharedQueue = HandlerReturnStatus.Enum.V(104)
    InsertionPositionNotSpecified = HandlerReturnStatus.Enum.V(105)
    InvalidInsertionPosition = HandlerReturnStatus.Enum.V(106)
    RequestParametersOutOfBounds = HandlerReturnStatus.Enum.V(107)
    SkipLimitReached = HandlerReturnStatus.Enum.V(108)
    AuthenticationFailure = HandlerReturnStatus.Enum.V(401)
    MediaServiceUnavailable = HandlerReturnStatus.Enum.V(501)

    def __init__(self) ->None:
        ...


<mask token>


class SendCommandStatusCode(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 = ...
        Success = SendCommandStatusCode.Enum.V(0)
        NoSuchContent = SendCommandStatusCode.Enum.V(1)
        CommandFailed = SendCommandStatusCode.Enum.V(2)
        NoActionableNowPlayingItem = SendCommandStatusCode.Enum.V(10)
        DeviceNotFound = SendCommandStatusCode.Enum.V(20)
        UIKitLegacy = SendCommandStatusCode.Enum.V(3)
        SkipAdProhibited = SendCommandStatusCode.Enum.V(100)
        QueueIsUserCurated = SendCommandStatusCode.Enum.V(101)
        UserModifiedQueueDisabled = SendCommandStatusCode.Enum.V(102)
        UserQueueModificationNotSupportedForCurrentItem = (
            SendCommandStatusCode.Enum.V(103))
        SubscriptionRequiredForSharedQueue = SendCommandStatusCode.Enum.V(104)
        InsertionPositionNotSpecified = SendCommandStatusCode.Enum.V(105)
        InvalidInsertionPosition = SendCommandStatusCode.Enum.V(106)
        RequestParametersOutOfBounds = SendCommandStatusCode.Enum.V(107)
        SkipLimitReached = SendCommandStatusCode.Enum.V(108)
        AuthenticationFailure = SendCommandStatusCode.Enum.V(401)
        MediaServiceUnavailable = SendCommandStatusCode.Enum.V(501)
    Success = SendCommandStatusCode.Enum.V(0)
    NoSuchContent = SendCommandStatusCode.Enum.V(1)
    CommandFailed = SendCommandStatusCode.Enum.V(2)
    NoActionableNowPlayingItem = SendCommandStatusCode.Enum.V(10)
    DeviceNotFound = SendCommandStatusCode.Enum.V(20)
    UIKitLegacy = SendCommandStatusCode.Enum.V(3)
    SkipAdProhibited = SendCommandStatusCode.Enum.V(100)
    QueueIsUserCurated = SendCommandStatusCode.Enum.V(101)
    UserModifiedQueueDisabled = SendCommandStatusCode.Enum.V(102)
    UserQueueModificationNotSupportedForCurrentItem = (SendCommandStatusCode
        .Enum.V(103))
    SubscriptionRequiredForSharedQueue = SendCommandStatusCode.Enum.V(104)
    InsertionPositionNotSpecified = SendCommandStatusCode.Enum.V(105)
    InvalidInsertionPosition = SendCommandStatusCode.Enum.V(106)
    RequestParametersOutOfBounds = SendCommandStatusCode.Enum.V(107)
    SkipLimitReached = SendCommandStatusCode.Enum.V(108)
    AuthenticationFailure = SendCommandStatusCode.Enum.V(401)
    MediaServiceUnavailable = SendCommandStatusCode.Enum.V(501)

    def __init__(self) ->None:
        ...


<mask token>


class SendCommandResultType(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 = ...
        Dialog = SendCommandResultType.Enum.V(1)
        Error = SendCommandResultType.Enum.V(2)
        Custom = SendCommandResultType.Enum.V(999)
    Dialog = SendCommandResultType.Enum.V(1)
    Error = SendCommandResultType.Enum.V(2)
    Custom = SendCommandResultType.Enum.V(999)

    def __init__(self) ->None:
        ...


<mask token>


class SendCommandResultStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    STATUSCODE_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    CUSTOMDATA_FIELD_NUMBER: builtins.int
    CUSTOMDATATYPE_FIELD_NUMBER: builtins.int
    statusCode: global___SendCommandStatusCode.Enum.V = ...
    type: global___SendCommandResultType.Enum.V = ...
    customData: builtins.bytes = ...
    customDataType: typing.Text = ...

    def __init__(self, *, statusCode: typing.Optional[
        global___SendCommandStatusCode.Enum.V]=..., type: typing.Optional[
        global___SendCommandResultType.Enum.V]=..., customData: typing.
        Optional[builtins.bytes]=..., customDataType: typing.Optional[
        typing.Text]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'customData',
        b'customData', u'customDataType', b'customDataType', u'statusCode',
        b'statusCode', u'type', b'type']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[
        u'customData', b'customData', u'customDataType', b'customDataType',
        u'statusCode', b'statusCode', u'type', b'type']) ->None:
        ...


<mask token>


class SendCommandResult(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PLAYERPATH_FIELD_NUMBER: builtins.int
    SENDERROR_FIELD_NUMBER: builtins.int
    STATUSES_FIELD_NUMBER: builtins.int

    @property
    def playerPath(self
        ) ->pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath:
        ...
    sendError: global___SendError.Enum.V = ...

    @property
    def statuses(self
        ) ->google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___SendCommandResultStatus]:
        ...

    def __init__(self, *, playerPath: typing.Optional[pyatv.protocols.mrp.
        protobuf.PlayerPath_pb2.PlayerPath]=..., sendError: typing.Optional
        [global___SendError.Enum.V]=..., statuses: typing.Optional[typing.
        Iterable[global___SendCommandResultStatus]]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'playerPath',
        b'playerPath', u'sendError', b'sendError']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[
        u'playerPath', b'playerPath', u'sendError', b'sendError',
        u'statuses', b'statuses']) ->None:
        ...


<mask token>


class SendCommandResultMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SENDERROR_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUS_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUSDATAS_FIELD_NUMBER: builtins.int
    COMMANDID_FIELD_NUMBER: builtins.int
    PLAYERPATH_FIELD_NUMBER: builtins.int
    COMMANDRESULT_FIELD_NUMBER: builtins.int
    sendError: global___SendError.Enum.V = ...
    handlerReturnStatus: global___HandlerReturnStatus.Enum.V = ...

    @property
    def handlerReturnStatusDatas(self
        ) ->google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        builtins.bytes]:
        ...
    commandID: typing.Text = ...

    @property
    def playerPath(self
        ) ->pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath:
        ...

    @property
    def commandResult(self) ->global___SendCommandResult:
        ...

    def __init__(self, *, sendError: typing.Optional[global___SendError.
        Enum.V]=..., handlerReturnStatus: typing.Optional[
        global___HandlerReturnStatus.Enum.V]=..., handlerReturnStatusDatas:
        typing.Optional[typing.Iterable[builtins.bytes]]=..., commandID:
        typing.Optional[typing.Text]=..., playerPath: typing.Optional[pyatv
        .protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath]=...,
        commandResult: typing.Optional[global___SendCommandResult]=...) ->None:
        ...

    def HasField(self, field_name: typing_extensions.Literal[u'commandID',
        b'commandID', u'commandResult', b'commandResult',
        u'handlerReturnStatus', b'handlerReturnStatus', u'playerPath',
        b'playerPath', u'sendError', b'sendError']) ->builtins.bool:
        ...

    def ClearField(self, field_name: typing_extensions.Literal[u'commandID',
        b'commandID', u'commandResult', b'commandResult',
        u'handlerReturnStatus', b'handlerReturnStatus',
        u'handlerReturnStatusDatas', b'handlerReturnStatusDatas',
        u'playerPath', b'playerPath', u'sendError', b'sendError']) ->None:
        ...


<mask token>

"""
@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.enum_type_wrapper
import google.protobuf.internal.extension_dict
import google.protobuf.message
import pyatv.protocols.mrp.protobuf.PlayerPath_pb2
import pyatv.protocols.mrp.protobuf.ProtocolMessage_pb2
import typing
import typing_extensions

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

class SendError(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 = ...
        # This is None in original message definitions (no-go with python)
        NoError = SendError.Enum.V(0)
        ApplicationNotFound = SendError.Enum.V(1)
        ConnectionFailed = SendError.Enum.V(2)
        Ignored = SendError.Enum.V(3)
        CouldNotLaunchApplication = SendError.Enum.V(4)
        TimedOut = SendError.Enum.V(5)
        OriginDoesNotExist = SendError.Enum.V(6)
        InvalidOptions = SendError.Enum.V(7)
        NoCommandHandlers = SendError.Enum.V(8)
        ApplicationNotInstalled = SendError.Enum.V(9)
        NotSupported = SendError.Enum.V(10)

    # This is None in original message definitions (no-go with python)
    NoError = SendError.Enum.V(0)
    ApplicationNotFound = SendError.Enum.V(1)
    ConnectionFailed = SendError.Enum.V(2)
    Ignored = SendError.Enum.V(3)
    CouldNotLaunchApplication = SendError.Enum.V(4)
    TimedOut = SendError.Enum.V(5)
    OriginDoesNotExist = SendError.Enum.V(6)
    InvalidOptions = SendError.Enum.V(7)
    NoCommandHandlers = SendError.Enum.V(8)
    ApplicationNotInstalled = SendError.Enum.V(9)
    NotSupported = SendError.Enum.V(10)

    def __init__(self,
        ) -> None: ...
global___SendError = SendError

class HandlerReturnStatus(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 = ...
        Success = HandlerReturnStatus.Enum.V(0)
        NoSuchContent = HandlerReturnStatus.Enum.V(1)
        CommandFailed = HandlerReturnStatus.Enum.V(2)
        NoActionableNowPlayingItem = HandlerReturnStatus.Enum.V(10)
        DeviceNotFound = HandlerReturnStatus.Enum.V(20)
        UIKitLegacy = HandlerReturnStatus.Enum.V(3)
        SkipAdProhibited = HandlerReturnStatus.Enum.V(100)
        QueueIsUserCurated = HandlerReturnStatus.Enum.V(101)
        UserModifiedQueueDisabled = HandlerReturnStatus.Enum.V(102)
        UserQueueModificationNotSupportedForCurrentItem = HandlerReturnStatus.Enum.V(103)
        SubscriptionRequiredForSharedQueue = HandlerReturnStatus.Enum.V(104)
        InsertionPositionNotSpecified = HandlerReturnStatus.Enum.V(105)
        InvalidInsertionPosition = HandlerReturnStatus.Enum.V(106)
        RequestParametersOutOfBounds = HandlerReturnStatus.Enum.V(107)
        SkipLimitReached = HandlerReturnStatus.Enum.V(108)
        AuthenticationFailure = HandlerReturnStatus.Enum.V(401)
        MediaServiceUnavailable = HandlerReturnStatus.Enum.V(501)

    Success = HandlerReturnStatus.Enum.V(0)
    NoSuchContent = HandlerReturnStatus.Enum.V(1)
    CommandFailed = HandlerReturnStatus.Enum.V(2)
    NoActionableNowPlayingItem = HandlerReturnStatus.Enum.V(10)
    DeviceNotFound = HandlerReturnStatus.Enum.V(20)
    UIKitLegacy = HandlerReturnStatus.Enum.V(3)
    SkipAdProhibited = HandlerReturnStatus.Enum.V(100)
    QueueIsUserCurated = HandlerReturnStatus.Enum.V(101)
    UserModifiedQueueDisabled = HandlerReturnStatus.Enum.V(102)
    UserQueueModificationNotSupportedForCurrentItem = HandlerReturnStatus.Enum.V(103)
    SubscriptionRequiredForSharedQueue = HandlerReturnStatus.Enum.V(104)
    InsertionPositionNotSpecified = HandlerReturnStatus.Enum.V(105)
    InvalidInsertionPosition = HandlerReturnStatus.Enum.V(106)
    RequestParametersOutOfBounds = HandlerReturnStatus.Enum.V(107)
    SkipLimitReached = HandlerReturnStatus.Enum.V(108)
    AuthenticationFailure = HandlerReturnStatus.Enum.V(401)
    MediaServiceUnavailable = HandlerReturnStatus.Enum.V(501)

    def __init__(self,
        ) -> None: ...
global___HandlerReturnStatus = HandlerReturnStatus

class SendCommandStatusCode(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 = ...
        Success = SendCommandStatusCode.Enum.V(0)
        NoSuchContent = SendCommandStatusCode.Enum.V(1)
        CommandFailed = SendCommandStatusCode.Enum.V(2)
        NoActionableNowPlayingItem = SendCommandStatusCode.Enum.V(10)
        DeviceNotFound = SendCommandStatusCode.Enum.V(20)
        UIKitLegacy = SendCommandStatusCode.Enum.V(3)
        SkipAdProhibited = SendCommandStatusCode.Enum.V(100)
        QueueIsUserCurated = SendCommandStatusCode.Enum.V(101)
        UserModifiedQueueDisabled = SendCommandStatusCode.Enum.V(102)
        UserQueueModificationNotSupportedForCurrentItem = SendCommandStatusCode.Enum.V(103)
        SubscriptionRequiredForSharedQueue = SendCommandStatusCode.Enum.V(104)
        InsertionPositionNotSpecified = SendCommandStatusCode.Enum.V(105)
        InvalidInsertionPosition = SendCommandStatusCode.Enum.V(106)
        RequestParametersOutOfBounds = SendCommandStatusCode.Enum.V(107)
        SkipLimitReached = SendCommandStatusCode.Enum.V(108)
        AuthenticationFailure = SendCommandStatusCode.Enum.V(401)
        MediaServiceUnavailable = SendCommandStatusCode.Enum.V(501)

    Success = SendCommandStatusCode.Enum.V(0)
    NoSuchContent = SendCommandStatusCode.Enum.V(1)
    CommandFailed = SendCommandStatusCode.Enum.V(2)
    NoActionableNowPlayingItem = SendCommandStatusCode.Enum.V(10)
    DeviceNotFound = SendCommandStatusCode.Enum.V(20)
    UIKitLegacy = SendCommandStatusCode.Enum.V(3)
    SkipAdProhibited = SendCommandStatusCode.Enum.V(100)
    QueueIsUserCurated = SendCommandStatusCode.Enum.V(101)
    UserModifiedQueueDisabled = SendCommandStatusCode.Enum.V(102)
    UserQueueModificationNotSupportedForCurrentItem = SendCommandStatusCode.Enum.V(103)
    SubscriptionRequiredForSharedQueue = SendCommandStatusCode.Enum.V(104)
    InsertionPositionNotSpecified = SendCommandStatusCode.Enum.V(105)
    InvalidInsertionPosition = SendCommandStatusCode.Enum.V(106)
    RequestParametersOutOfBounds = SendCommandStatusCode.Enum.V(107)
    SkipLimitReached = SendCommandStatusCode.Enum.V(108)
    AuthenticationFailure = SendCommandStatusCode.Enum.V(401)
    MediaServiceUnavailable = SendCommandStatusCode.Enum.V(501)

    def __init__(self,
        ) -> None: ...
global___SendCommandStatusCode = SendCommandStatusCode

class SendCommandResultType(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 = ...
        Dialog = SendCommandResultType.Enum.V(1)
        Error = SendCommandResultType.Enum.V(2)
        Custom = SendCommandResultType.Enum.V(999)

    Dialog = SendCommandResultType.Enum.V(1)
    Error = SendCommandResultType.Enum.V(2)
    Custom = SendCommandResultType.Enum.V(999)

    def __init__(self,
        ) -> None: ...
global___SendCommandResultType = SendCommandResultType

class SendCommandResultStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    STATUSCODE_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    CUSTOMDATA_FIELD_NUMBER: builtins.int
    CUSTOMDATATYPE_FIELD_NUMBER: builtins.int
    statusCode: global___SendCommandStatusCode.Enum.V = ...
    type: global___SendCommandResultType.Enum.V = ...
    # optional ... dialog = 3;
    # optional ... error = 4;
    customData: builtins.bytes = ...
    customDataType: typing.Text = ...
    def __init__(self,
        *,
        statusCode : typing.Optional[global___SendCommandStatusCode.Enum.V] = ...,
        type : typing.Optional[global___SendCommandResultType.Enum.V] = ...,
        customData : typing.Optional[builtins.bytes] = ...,
        customDataType : typing.Optional[typing.Text] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"customData",b"customData",u"customDataType",b"customDataType",u"statusCode",b"statusCode",u"type",b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"customData",b"customData",u"customDataType",b"customDataType",u"statusCode",b"statusCode",u"type",b"type"]) -> None: ...
global___SendCommandResultStatus = SendCommandResultStatus

class SendCommandResult(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PLAYERPATH_FIELD_NUMBER: builtins.int
    SENDERROR_FIELD_NUMBER: builtins.int
    STATUSES_FIELD_NUMBER: builtins.int
    @property
    def playerPath(self) -> pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath: ...
    sendError: global___SendError.Enum.V = ...
    @property
    def statuses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SendCommandResultStatus]: ...
    def __init__(self,
        *,
        playerPath : typing.Optional[pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath] = ...,
        sendError : typing.Optional[global___SendError.Enum.V] = ...,
        statuses : typing.Optional[typing.Iterable[global___SendCommandResultStatus]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"playerPath",b"playerPath",u"sendError",b"sendError"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"playerPath",b"playerPath",u"sendError",b"sendError",u"statuses",b"statuses"]) -> None: ...
global___SendCommandResult = SendCommandResult

class SendCommandResultMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SENDERROR_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUS_FIELD_NUMBER: builtins.int
    HANDLERRETURNSTATUSDATAS_FIELD_NUMBER: builtins.int
    COMMANDID_FIELD_NUMBER: builtins.int
    PLAYERPATH_FIELD_NUMBER: builtins.int
    COMMANDRESULT_FIELD_NUMBER: builtins.int
    sendError: global___SendError.Enum.V = ...
    handlerReturnStatus: global___HandlerReturnStatus.Enum.V = ...
    @property
    def handlerReturnStatusDatas(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ...
    commandID: typing.Text = ...
    @property
    def playerPath(self) -> pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath: ...
    @property
    def commandResult(self) -> global___SendCommandResult: ...
    def __init__(self,
        *,
        sendError : typing.Optional[global___SendError.Enum.V] = ...,
        handlerReturnStatus : typing.Optional[global___HandlerReturnStatus.Enum.V] = ...,
        handlerReturnStatusDatas : typing.Optional[typing.Iterable[builtins.bytes]] = ...,
        commandID : typing.Optional[typing.Text] = ...,
        playerPath : typing.Optional[pyatv.protocols.mrp.protobuf.PlayerPath_pb2.PlayerPath] = ...,
        commandResult : typing.Optional[global___SendCommandResult] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"commandID",b"commandID",u"commandResult",b"commandResult",u"handlerReturnStatus",b"handlerReturnStatus",u"playerPath",b"playerPath",u"sendError",b"sendError"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"commandID",b"commandID",u"commandResult",b"commandResult",u"handlerReturnStatus",b"handlerReturnStatus",u"handlerReturnStatusDatas",b"handlerReturnStatusDatas",u"playerPath",b"playerPath",u"sendError",b"sendError"]) -> None: ...
global___SendCommandResultMessage = SendCommandResultMessage

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