"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.field_mask_pb2
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import yandex.cloud.video.v1.playlist_pb2

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class GetPlaylistRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PLAYLIST_ID_FIELD_NUMBER: builtins.int
    playlist_id: builtins.str
    """ID of the playlist."""
    def __init__(
        self,
        *,
        playlist_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["playlist_id", b"playlist_id"]) -> None: ...

global___GetPlaylistRequest = GetPlaylistRequest

@typing.final
class ListPlaylistsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CHANNEL_ID_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    ORDER_BY_FIELD_NUMBER: builtins.int
    FILTER_FIELD_NUMBER: builtins.int
    channel_id: builtins.str
    """ID of the channel."""
    page_size: builtins.int
    """The maximum number of the results per page to return.
    Default value: 100.
    """
    page_token: builtins.str
    """Page token for getting the next page of the result."""
    order_by: builtins.str
    """By which column the listing should be ordered and in which direction,
    format is "<field> <order>" (e.g. "createdAt desc").
    Default: "id asc".
    Possible fields: ["id", "title", "createdAt", "updatedAt"].
    Both snake_case and camelCase are supported for fields.
    """
    filter: builtins.str
    """Filter expression that filters resources listed in the response.
    Expressions are composed of terms connected by logic operators.
    If value contains spaces or quotes,
    it should be in quotes (`'` or `"`) with the inner quotes being backslash escaped.
    Example: "key1='value' AND key2='value'".
    Supported operators: ["AND", "OR"].
    Supported fields: ["id", "title"].
    Both snake_case and camelCase are supported for fields.
    """
    def __init__(
        self,
        *,
        channel_id: builtins.str = ...,
        page_size: builtins.int = ...,
        page_token: builtins.str = ...,
        order_by: builtins.str = ...,
        filter: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["channel_id", b"channel_id", "filter", b"filter", "order_by", b"order_by", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...

global___ListPlaylistsRequest = ListPlaylistsRequest

@typing.final
class ListPlaylistsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PLAYLISTS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    next_page_token: builtins.str
    """Token for getting the next page."""
    @property
    def playlists(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.video.v1.playlist_pb2.Playlist]:
        """List of playlists for specific channel."""

    def __init__(
        self,
        *,
        playlists: collections.abc.Iterable[yandex.cloud.video.v1.playlist_pb2.Playlist] | None = ...,
        next_page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "playlists", b"playlists"]) -> None: ...

global___ListPlaylistsResponse = ListPlaylistsResponse

@typing.final
class CreatePlaylistRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CHANNEL_ID_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    ITEMS_FIELD_NUMBER: builtins.int
    channel_id: builtins.str
    """ID of the channel."""
    title: builtins.str
    """Playlist title."""
    description: builtins.str
    """Playlist description."""
    @property
    def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.video.v1.playlist_pb2.PlaylistItem]:
        """List of playlist items."""

    def __init__(
        self,
        *,
        channel_id: builtins.str = ...,
        title: builtins.str = ...,
        description: builtins.str = ...,
        items: collections.abc.Iterable[yandex.cloud.video.v1.playlist_pb2.PlaylistItem] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["channel_id", b"channel_id", "description", b"description", "items", b"items", "title", b"title"]) -> None: ...

global___CreatePlaylistRequest = CreatePlaylistRequest

@typing.final
class CreatePlaylistMetadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PLAYLIST_ID_FIELD_NUMBER: builtins.int
    playlist_id: builtins.str
    """ID of the playlist."""
    def __init__(
        self,
        *,
        playlist_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["playlist_id", b"playlist_id"]) -> None: ...

global___CreatePlaylistMetadata = CreatePlaylistMetadata

@typing.final
class UpdatePlaylistRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PLAYLIST_ID_FIELD_NUMBER: builtins.int
    FIELD_MASK_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    ITEMS_FIELD_NUMBER: builtins.int
    playlist_id: builtins.str
    """ID of the playlist."""
    title: builtins.str
    """Playlist title."""
    description: builtins.str
    """Playlist description."""
    @property
    def field_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
        """Field mask that specifies which fields of the playlist are going to be updated."""

    @property
    def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.video.v1.playlist_pb2.PlaylistItem]:
        """List of playlist items."""

    def __init__(
        self,
        *,
        playlist_id: builtins.str = ...,
        field_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
        title: builtins.str = ...,
        description: builtins.str = ...,
        items: collections.abc.Iterable[yandex.cloud.video.v1.playlist_pb2.PlaylistItem] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["field_mask", b"field_mask"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["description", b"description", "field_mask", b"field_mask", "items", b"items", "playlist_id", b"playlist_id", "title", b"title"]) -> None: ...

global___UpdatePlaylistRequest = UpdatePlaylistRequest

@typing.final
class UpdatePlaylistMetadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PLAYLIST_ID_FIELD_NUMBER: builtins.int
    playlist_id: builtins.str
    """ID of the playlist."""
    def __init__(
        self,
        *,
        playlist_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["playlist_id", b"playlist_id"]) -> None: ...

global___UpdatePlaylistMetadata = UpdatePlaylistMetadata

@typing.final
class DeletePlaylistRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PLAYLIST_ID_FIELD_NUMBER: builtins.int
    playlist_id: builtins.str
    """ID of the playlist."""
    def __init__(
        self,
        *,
        playlist_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["playlist_id", b"playlist_id"]) -> None: ...

global___DeletePlaylistRequest = DeletePlaylistRequest

@typing.final
class DeletePlaylistMetadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PLAYLIST_ID_FIELD_NUMBER: builtins.int
    playlist_id: builtins.str
    """ID of the playlist."""
    def __init__(
        self,
        *,
        playlist_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["playlist_id", b"playlist_id"]) -> None: ...

global___DeletePlaylistMetadata = DeletePlaylistMetadata

@typing.final
class BatchDeletePlaylistsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CHANNEL_ID_FIELD_NUMBER: builtins.int
    PLAYLIST_IDS_FIELD_NUMBER: builtins.int
    channel_id: builtins.str
    """ID of the channel."""
    @property
    def playlist_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """List of playlist IDs."""

    def __init__(
        self,
        *,
        channel_id: builtins.str = ...,
        playlist_ids: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["channel_id", b"channel_id", "playlist_ids", b"playlist_ids"]) -> None: ...

global___BatchDeletePlaylistsRequest = BatchDeletePlaylistsRequest

@typing.final
class BatchDeletePlaylistsMetadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PLAYLIST_IDS_FIELD_NUMBER: builtins.int
    @property
    def playlist_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """List of playlist IDs."""

    def __init__(
        self,
        *,
        playlist_ids: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["playlist_ids", b"playlist_ids"]) -> None: ...

global___BatchDeletePlaylistsMetadata = BatchDeletePlaylistsMetadata

@typing.final
class GetPlaylistPlayerURLRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PLAYLIST_ID_FIELD_NUMBER: builtins.int
    PARAMS_FIELD_NUMBER: builtins.int
    playlist_id: builtins.str
    """ID of the playlist."""
    @property
    def params(self) -> global___PlaylistPlayerParams: ...
    def __init__(
        self,
        *,
        playlist_id: builtins.str = ...,
        params: global___PlaylistPlayerParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["params", b"params"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["params", b"params", "playlist_id", b"playlist_id"]) -> None: ...

global___GetPlaylistPlayerURLRequest = GetPlaylistPlayerURLRequest

@typing.final
class PlaylistPlayerParams(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MUTE_FIELD_NUMBER: builtins.int
    AUTOPLAY_FIELD_NUMBER: builtins.int
    HIDDEN_FIELD_NUMBER: builtins.int
    mute: builtins.bool
    """If true, a player will be muted by default."""
    autoplay: builtins.bool
    """If true, playback will start automatically."""
    hidden: builtins.bool
    """If true, a player interface will be hidden by default."""
    def __init__(
        self,
        *,
        mute: builtins.bool = ...,
        autoplay: builtins.bool = ...,
        hidden: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["autoplay", b"autoplay", "hidden", b"hidden", "mute", b"mute"]) -> None: ...

global___PlaylistPlayerParams = PlaylistPlayerParams

@typing.final
class GetPlaylistPlayerURLResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PLAYER_URL_FIELD_NUMBER: builtins.int
    HTML_FIELD_NUMBER: builtins.int
    player_url: builtins.str
    """Direct link to the playlist."""
    html: builtins.str
    """HTML embed code in Iframe format."""
    def __init__(
        self,
        *,
        player_url: builtins.str = ...,
        html: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["html", b"html", "player_url", b"player_url"]) -> None: ...

global___GetPlaylistPlayerURLResponse = GetPlaylistPlayerURLResponse
