"""
@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.message
import pyatv.protocols.mrp.protobuf.Common_pb2
import typing
import typing_extensions

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

class _Command:
    ValueType = typing.NewType('ValueType', builtins.int)
    V: typing_extensions.TypeAlias = ValueType
class _CommandEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Command.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    Unknown: Command.ValueType = ...  # 0
    Play: Command.ValueType = ...  # 1
    Pause: Command.ValueType = ...  # 2
    TogglePlayPause: Command.ValueType = ...  # 3
    Stop: Command.ValueType = ...  # 4
    NextTrack: Command.ValueType = ...  # 5
    PreviousTrack: Command.ValueType = ...  # 6
    AdvanceShuffleMode: Command.ValueType = ...  # 7
    AdvanceRepeatMode: Command.ValueType = ...  # 8
    BeginFastForward: Command.ValueType = ...  # 9
    EndFastForward: Command.ValueType = ...  # 10
    BeginRewind: Command.ValueType = ...  # 11
    EndRewind: Command.ValueType = ...  # 12
    Rewind15Seconds: Command.ValueType = ...  # 13
    FastForward15Seconds: Command.ValueType = ...  # 14
    Rewind30Seconds: Command.ValueType = ...  # 15
    FastForward30Seconds: Command.ValueType = ...  # 16
    SkipForward: Command.ValueType = ...  # 18
    SkipBackward: Command.ValueType = ...  # 19
    ChangePlaybackRate: Command.ValueType = ...  # 20
    RateTrack: Command.ValueType = ...  # 21
    LikeTrack: Command.ValueType = ...  # 22
    DislikeTrack: Command.ValueType = ...  # 23
    BookmarkTrack: Command.ValueType = ...  # 24
    SeekToPlaybackPosition: Command.ValueType = ...  # 45
    ChangeRepeatMode: Command.ValueType = ...  # 46
    ChangeShuffleMode: Command.ValueType = ...  # 47
    EnableLanguageOption: Command.ValueType = ...  # 53
    DisableLanguageOption: Command.ValueType = ...  # 54
    NextChapter: Command.ValueType = ...  # 25
    PreviousChapter: Command.ValueType = ...  # 26
    NextAlbum: Command.ValueType = ...  # 27
    PreviousAlbum: Command.ValueType = ...  # 28
    NextPlaylist: Command.ValueType = ...  # 29
    PreviousPlaylist: Command.ValueType = ...  # 30
    BanTrack: Command.ValueType = ...  # 31
    AddTrackToWishList: Command.ValueType = ...  # 32
    RemoveTrackFromWishList: Command.ValueType = ...  # 33
    NextInContext: Command.ValueType = ...  # 34
    PreviousInContext: Command.ValueType = ...  # 35
    ResetPlaybackTimeout: Command.ValueType = ...  # 41
    SetPlaybackQueue: Command.ValueType = ...  # 48
    AddNowPlayingItemToLibrary: Command.ValueType = ...  # 49
    CreateRadioStation: Command.ValueType = ...  # 50
    AddItemToLibrary: Command.ValueType = ...  # 51
    InsertIntoPlaybackQueue: Command.ValueType = ...  # 52
    ReorderPlaybackQueue: Command.ValueType = ...  # 55
    RemoveFromPlaybackQueue: Command.ValueType = ...  # 56
    PlayItemInPlaybackQueue: Command.ValueType = ...  # 57
    PrepareForSetQueue: Command.ValueType = ...  # 58
    SetPlaybackSession: Command.ValueType = ...  # 59
    PreloadedPlaybackSession: Command.ValueType = ...  # 60
    SetPriorityForPlaybackSession: Command.ValueType = ...  # 61
    DiscardPlaybackSession: Command.ValueType = ...  # 62
    Reshuffle: Command.ValueType = ...  # 63
    ChangeQueueEndAction: Command.ValueType = ...  # 135
class Command(_Command, metaclass=_CommandEnumTypeWrapper):
    pass

Unknown: Command.ValueType = ...  # 0
Play: Command.ValueType = ...  # 1
Pause: Command.ValueType = ...  # 2
TogglePlayPause: Command.ValueType = ...  # 3
Stop: Command.ValueType = ...  # 4
NextTrack: Command.ValueType = ...  # 5
PreviousTrack: Command.ValueType = ...  # 6
AdvanceShuffleMode: Command.ValueType = ...  # 7
AdvanceRepeatMode: Command.ValueType = ...  # 8
BeginFastForward: Command.ValueType = ...  # 9
EndFastForward: Command.ValueType = ...  # 10
BeginRewind: Command.ValueType = ...  # 11
EndRewind: Command.ValueType = ...  # 12
Rewind15Seconds: Command.ValueType = ...  # 13
FastForward15Seconds: Command.ValueType = ...  # 14
Rewind30Seconds: Command.ValueType = ...  # 15
FastForward30Seconds: Command.ValueType = ...  # 16
SkipForward: Command.ValueType = ...  # 18
SkipBackward: Command.ValueType = ...  # 19
ChangePlaybackRate: Command.ValueType = ...  # 20
RateTrack: Command.ValueType = ...  # 21
LikeTrack: Command.ValueType = ...  # 22
DislikeTrack: Command.ValueType = ...  # 23
BookmarkTrack: Command.ValueType = ...  # 24
SeekToPlaybackPosition: Command.ValueType = ...  # 45
ChangeRepeatMode: Command.ValueType = ...  # 46
ChangeShuffleMode: Command.ValueType = ...  # 47
EnableLanguageOption: Command.ValueType = ...  # 53
DisableLanguageOption: Command.ValueType = ...  # 54
NextChapter: Command.ValueType = ...  # 25
PreviousChapter: Command.ValueType = ...  # 26
NextAlbum: Command.ValueType = ...  # 27
PreviousAlbum: Command.ValueType = ...  # 28
NextPlaylist: Command.ValueType = ...  # 29
PreviousPlaylist: Command.ValueType = ...  # 30
BanTrack: Command.ValueType = ...  # 31
AddTrackToWishList: Command.ValueType = ...  # 32
RemoveTrackFromWishList: Command.ValueType = ...  # 33
NextInContext: Command.ValueType = ...  # 34
PreviousInContext: Command.ValueType = ...  # 35
ResetPlaybackTimeout: Command.ValueType = ...  # 41
SetPlaybackQueue: Command.ValueType = ...  # 48
AddNowPlayingItemToLibrary: Command.ValueType = ...  # 49
CreateRadioStation: Command.ValueType = ...  # 50
AddItemToLibrary: Command.ValueType = ...  # 51
InsertIntoPlaybackQueue: Command.ValueType = ...  # 52
ReorderPlaybackQueue: Command.ValueType = ...  # 55
RemoveFromPlaybackQueue: Command.ValueType = ...  # 56
PlayItemInPlaybackQueue: Command.ValueType = ...  # 57
PrepareForSetQueue: Command.ValueType = ...  # 58
SetPlaybackSession: Command.ValueType = ...  # 59
PreloadedPlaybackSession: Command.ValueType = ...  # 60
SetPriorityForPlaybackSession: Command.ValueType = ...  # 61
DiscardPlaybackSession: Command.ValueType = ...  # 62
Reshuffle: Command.ValueType = ...  # 63
ChangeQueueEndAction: Command.ValueType = ...  # 135
global___Command = Command


class QueueEndAction(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class _Enum:
        ValueType = typing.NewType('ValueType', builtins.int)
        V: typing_extensions.TypeAlias = ValueType
    class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Enum.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        ClearAction: QueueEndAction.Enum.ValueType = ...  # 0
        Reset: QueueEndAction.Enum.ValueType = ...  # 2
        AutoPlay: QueueEndAction.Enum.ValueType = ...  # 3
    class Enum(_Enum, metaclass=_EnumEnumTypeWrapper):
        pass

    ClearAction: QueueEndAction.Enum.ValueType = ...  # 0
    Reset: QueueEndAction.Enum.ValueType = ...  # 2
    AutoPlay: QueueEndAction.Enum.ValueType = ...  # 3

    def __init__(self,
        ) -> None: ...
global___QueueEndAction = QueueEndAction

class DisableReason(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class _Enum:
        ValueType = typing.NewType('ValueType', builtins.int)
        V: typing_extensions.TypeAlias = ValueType
    class _EnumEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Enum.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        Unknown: DisableReason.Enum.ValueType = ...  # 0
        AdPlayback: DisableReason.Enum.ValueType = ...  # 1
        SkipLimitReached: DisableReason.Enum.ValueType = ...  # 2
    class Enum(_Enum, metaclass=_EnumEnumTypeWrapper):
        pass

    Unknown: DisableReason.Enum.ValueType = ...  # 0
    AdPlayback: DisableReason.Enum.ValueType = ...  # 1
    SkipLimitReached: DisableReason.Enum.ValueType = ...  # 2

    def __init__(self,
        ) -> None: ...
global___DisableReason = DisableReason

class PreloadedPlaybackSessionInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PLAYBACKSESSIONIDENTIFIER_FIELD_NUMBER: builtins.int
    PLAYBACKSESSIONREVISION_FIELD_NUMBER: builtins.int
    PLAYBACKSESSIONPRIORITY_FIELD_NUMBER: builtins.int
    playbackSessionIdentifier: typing.Text = ...
    playbackSessionRevision: typing.Text = ...
    playbackSessionPriority: builtins.int = ...
    def __init__(self,
        *,
        playbackSessionIdentifier : typing.Optional[typing.Text] = ...,
        playbackSessionRevision : typing.Optional[typing.Text] = ...,
        playbackSessionPriority : typing.Optional[builtins.int] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["playbackSessionIdentifier",b"playbackSessionIdentifier","playbackSessionPriority",b"playbackSessionPriority","playbackSessionRevision",b"playbackSessionRevision"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["playbackSessionIdentifier",b"playbackSessionIdentifier","playbackSessionPriority",b"playbackSessionPriority","playbackSessionRevision",b"playbackSessionRevision"]) -> None: ...
global___PreloadedPlaybackSessionInfo = PreloadedPlaybackSessionInfo

class CommandInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    COMMAND_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    ACTIVE_FIELD_NUMBER: builtins.int
    PREFERREDINTERVALS_FIELD_NUMBER: builtins.int
    LOCALIZEDTITLE_FIELD_NUMBER: builtins.int
    MINIMUMRATING_FIELD_NUMBER: builtins.int
    MAXIMUMRATING_FIELD_NUMBER: builtins.int
    SUPPORTEDRATES_FIELD_NUMBER: builtins.int
    LOCALIZEDSHORTTITLE_FIELD_NUMBER: builtins.int
    REPEATMODE_FIELD_NUMBER: builtins.int
    SHUFFLEMODE_FIELD_NUMBER: builtins.int
    PRESENTATIONSTYLE_FIELD_NUMBER: builtins.int
    SKIPINTERVAL_FIELD_NUMBER: builtins.int
    NUMAVAILABLESKIPS_FIELD_NUMBER: builtins.int
    SKIPFREQUENCY_FIELD_NUMBER: builtins.int
    CANSCRUB_FIELD_NUMBER: builtins.int
    SUPPORTEDPLAYBACKQUEUETYPES_FIELD_NUMBER: builtins.int
    SUPPORTEDCUSTOMQUEUEIDENTIFIERS_FIELD_NUMBER: builtins.int
    SUPPORTEDINSERTIONPOSITIONS_FIELD_NUMBER: builtins.int
    SUPPORTSSHAREDQUEUE_FIELD_NUMBER: builtins.int
    UPNEXTITEMCOUNT_FIELD_NUMBER: builtins.int
    PREFERREDPLAYBACKRATE_FIELD_NUMBER: builtins.int
    SUPPORTEDPLAYBACKSESSIONTYPES_FIELD_NUMBER: builtins.int
    CURRENTPLAYBACKSESSIONTYPES_FIELD_NUMBER: builtins.int
    PLAYBACKSESSIONIDENTIFIER_FIELD_NUMBER: builtins.int
    CURRENTQUEUEENDACTION_FIELD_NUMBER: builtins.int
    SUPPORTEDENDQUEUEACTIONS_FIELD_NUMBER: builtins.int
    DISABLEREASON_FIELD_NUMBER: builtins.int
    SUPPORTEDPLAYBACKSESSIONIDENTIFIERS_FIELD_NUMBER: builtins.int
    command: global___Command.ValueType = ...
    enabled: builtins.bool = ...
    active: builtins.bool = ...
    @property
    def preferredIntervals(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    localizedTitle: typing.Text = ...
    minimumRating: builtins.float = ...
    maximumRating: builtins.float = ...
    @property
    def supportedRates(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    localizedShortTitle: typing.Text = ...
    repeatMode: pyatv.protocols.mrp.protobuf.Common_pb2.RepeatMode.Enum.ValueType = ...
    shuffleMode: pyatv.protocols.mrp.protobuf.Common_pb2.ShuffleMode.Enum.ValueType = ...
    presentationStyle: builtins.int = ...
    skipInterval: builtins.int = ...
    numAvailableSkips: builtins.int = ...
    skipFrequency: builtins.int = ...
    canScrub: builtins.int = ...
    @property
    def supportedPlaybackQueueTypes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def supportedCustomQueueIdentifiers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    @property
    def supportedInsertionPositions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    supportsSharedQueue: builtins.bool = ...
    upNextItemCount: builtins.int = ...
    preferredPlaybackRate: builtins.float = ...
    @property
    def supportedPlaybackSessionTypes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    @property
    def currentPlaybackSessionTypes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    playbackSessionIdentifier: typing.Text = ...
    currentQueueEndAction: global___QueueEndAction.Enum.ValueType = ...
    @property
    def supportedEndQueueActions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___QueueEndAction.Enum.ValueType]: ...
    disableReason: global___DisableReason.Enum.ValueType = ...
    @property
    def supportedPlaybackSessionIdentifiers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PreloadedPlaybackSessionInfo]: ...
    def __init__(self,
        *,
        command : typing.Optional[global___Command.ValueType] = ...,
        enabled : typing.Optional[builtins.bool] = ...,
        active : typing.Optional[builtins.bool] = ...,
        preferredIntervals : typing.Optional[typing.Iterable[builtins.float]] = ...,
        localizedTitle : typing.Optional[typing.Text] = ...,
        minimumRating : typing.Optional[builtins.float] = ...,
        maximumRating : typing.Optional[builtins.float] = ...,
        supportedRates : typing.Optional[typing.Iterable[builtins.float]] = ...,
        localizedShortTitle : typing.Optional[typing.Text] = ...,
        repeatMode : typing.Optional[pyatv.protocols.mrp.protobuf.Common_pb2.RepeatMode.Enum.ValueType] = ...,
        shuffleMode : typing.Optional[pyatv.protocols.mrp.protobuf.Common_pb2.ShuffleMode.Enum.ValueType] = ...,
        presentationStyle : typing.Optional[builtins.int] = ...,
        skipInterval : typing.Optional[builtins.int] = ...,
        numAvailableSkips : typing.Optional[builtins.int] = ...,
        skipFrequency : typing.Optional[builtins.int] = ...,
        canScrub : typing.Optional[builtins.int] = ...,
        supportedPlaybackQueueTypes : typing.Optional[typing.Iterable[builtins.int]] = ...,
        supportedCustomQueueIdentifiers : typing.Optional[typing.Iterable[typing.Text]] = ...,
        supportedInsertionPositions : typing.Optional[typing.Iterable[builtins.int]] = ...,
        supportsSharedQueue : typing.Optional[builtins.bool] = ...,
        upNextItemCount : typing.Optional[builtins.int] = ...,
        preferredPlaybackRate : typing.Optional[builtins.float] = ...,
        supportedPlaybackSessionTypes : typing.Optional[typing.Iterable[typing.Text]] = ...,
        currentPlaybackSessionTypes : typing.Optional[typing.Iterable[typing.Text]] = ...,
        playbackSessionIdentifier : typing.Optional[typing.Text] = ...,
        currentQueueEndAction : typing.Optional[global___QueueEndAction.Enum.ValueType] = ...,
        supportedEndQueueActions : typing.Optional[typing.Iterable[global___QueueEndAction.Enum.ValueType]] = ...,
        disableReason : typing.Optional[global___DisableReason.Enum.ValueType] = ...,
        supportedPlaybackSessionIdentifiers : typing.Optional[typing.Iterable[global___PreloadedPlaybackSessionInfo]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["active",b"active","canScrub",b"canScrub","command",b"command","currentQueueEndAction",b"currentQueueEndAction","disableReason",b"disableReason","enabled",b"enabled","localizedShortTitle",b"localizedShortTitle","localizedTitle",b"localizedTitle","maximumRating",b"maximumRating","minimumRating",b"minimumRating","numAvailableSkips",b"numAvailableSkips","playbackSessionIdentifier",b"playbackSessionIdentifier","preferredPlaybackRate",b"preferredPlaybackRate","presentationStyle",b"presentationStyle","repeatMode",b"repeatMode","shuffleMode",b"shuffleMode","skipFrequency",b"skipFrequency","skipInterval",b"skipInterval","supportsSharedQueue",b"supportsSharedQueue","upNextItemCount",b"upNextItemCount"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["active",b"active","canScrub",b"canScrub","command",b"command","currentPlaybackSessionTypes",b"currentPlaybackSessionTypes","currentQueueEndAction",b"currentQueueEndAction","disableReason",b"disableReason","enabled",b"enabled","localizedShortTitle",b"localizedShortTitle","localizedTitle",b"localizedTitle","maximumRating",b"maximumRating","minimumRating",b"minimumRating","numAvailableSkips",b"numAvailableSkips","playbackSessionIdentifier",b"playbackSessionIdentifier","preferredIntervals",b"preferredIntervals","preferredPlaybackRate",b"preferredPlaybackRate","presentationStyle",b"presentationStyle","repeatMode",b"repeatMode","shuffleMode",b"shuffleMode","skipFrequency",b"skipFrequency","skipInterval",b"skipInterval","supportedCustomQueueIdentifiers",b"supportedCustomQueueIdentifiers","supportedEndQueueActions",b"supportedEndQueueActions","supportedInsertionPositions",b"supportedInsertionPositions","supportedPlaybackQueueTypes",b"supportedPlaybackQueueTypes","supportedPlaybackSessionIdentifiers",b"supportedPlaybackSessionIdentifiers","supportedPlaybackSessionTypes",b"supportedPlaybackSessionTypes","supportedRates",b"supportedRates","supportsSharedQueue",b"supportsSharedQueue","upNextItemCount",b"upNextItemCount"]) -> None: ...
global___CommandInfo = CommandInfo
