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

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


class QueueEndAction(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 = ...
        ClearAction = QueueEndAction.Enum.V(0)
        Reset = QueueEndAction.Enum.V(2)
        AutoPlay = QueueEndAction.Enum.V(3)

    ClearAction = QueueEndAction.Enum.V(0)
    Reset = QueueEndAction.Enum.V(2)
    AutoPlay = QueueEndAction.Enum.V(3)

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

class DisableReason(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 = ...
        Unknown = DisableReason.Enum.V(0)
        AdPlayback = DisableReason.Enum.V(1)
        SkipLimitReached = DisableReason.Enum.V(2)

    Unknown = DisableReason.Enum.V(0)
    AdPlayback = DisableReason.Enum.V(1)
    SkipLimitReached = DisableReason.Enum.V(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[u"playbackSessionIdentifier",b"playbackSessionIdentifier",u"playbackSessionPriority",b"playbackSessionPriority",u"playbackSessionRevision",b"playbackSessionRevision"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"playbackSessionIdentifier",b"playbackSessionIdentifier",u"playbackSessionPriority",b"playbackSessionPriority",u"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.V = ...
    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.V = ...
    shuffleMode: pyatv.protocols.mrp.protobuf.Common_pb2.ShuffleMode.Enum.V = ...
    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.V = ...
    @property
    def supportedEndQueueActions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___QueueEndAction.Enum.V]: ...
    disableReason: global___DisableReason.Enum.V = ...
    @property
    def supportedPlaybackSessionIdentifiers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PreloadedPlaybackSessionInfo]: ...
    def __init__(self,
        *,
        command : typing.Optional[global___Command.V] = ...,
        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.V] = ...,
        shuffleMode : typing.Optional[pyatv.protocols.mrp.protobuf.Common_pb2.ShuffleMode.Enum.V] = ...,
        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.V] = ...,
        supportedEndQueueActions : typing.Optional[typing.Iterable[global___QueueEndAction.Enum.V]] = ...,
        disableReason : typing.Optional[global___DisableReason.Enum.V] = ...,
        supportedPlaybackSessionIdentifiers : typing.Optional[typing.Iterable[global___PreloadedPlaybackSessionInfo]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"active",b"active",u"canScrub",b"canScrub",u"command",b"command",u"currentQueueEndAction",b"currentQueueEndAction",u"disableReason",b"disableReason",u"enabled",b"enabled",u"localizedShortTitle",b"localizedShortTitle",u"localizedTitle",b"localizedTitle",u"maximumRating",b"maximumRating",u"minimumRating",b"minimumRating",u"numAvailableSkips",b"numAvailableSkips",u"playbackSessionIdentifier",b"playbackSessionIdentifier",u"preferredPlaybackRate",b"preferredPlaybackRate",u"presentationStyle",b"presentationStyle",u"repeatMode",b"repeatMode",u"shuffleMode",b"shuffleMode",u"skipFrequency",b"skipFrequency",u"skipInterval",b"skipInterval",u"supportsSharedQueue",b"supportsSharedQueue",u"upNextItemCount",b"upNextItemCount"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"active",b"active",u"canScrub",b"canScrub",u"command",b"command",u"currentPlaybackSessionTypes",b"currentPlaybackSessionTypes",u"currentQueueEndAction",b"currentQueueEndAction",u"disableReason",b"disableReason",u"enabled",b"enabled",u"localizedShortTitle",b"localizedShortTitle",u"localizedTitle",b"localizedTitle",u"maximumRating",b"maximumRating",u"minimumRating",b"minimumRating",u"numAvailableSkips",b"numAvailableSkips",u"playbackSessionIdentifier",b"playbackSessionIdentifier",u"preferredIntervals",b"preferredIntervals",u"preferredPlaybackRate",b"preferredPlaybackRate",u"presentationStyle",b"presentationStyle",u"repeatMode",b"repeatMode",u"shuffleMode",b"shuffleMode",u"skipFrequency",b"skipFrequency",u"skipInterval",b"skipInterval",u"supportedCustomQueueIdentifiers",b"supportedCustomQueueIdentifiers",u"supportedEndQueueActions",b"supportedEndQueueActions",u"supportedInsertionPositions",b"supportedInsertionPositions",u"supportedPlaybackQueueTypes",b"supportedPlaybackQueueTypes",u"supportedPlaybackSessionIdentifiers",b"supportedPlaybackSessionIdentifiers",u"supportedPlaybackSessionTypes",b"supportedPlaybackSessionTypes",u"supportedRates",b"supportedRates",u"supportsSharedQueue",b"supportsSharedQueue",u"upNextItemCount",b"upNextItemCount"]) -> None: ...
global___CommandInfo = CommandInfo
