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

import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class Manifest(google.protobuf.message.Message):
    """Represents a streaming manifest file that defines how video content is delivered.
    Manifests contain information about available video qualities, audio tracks,
    and other metadata needed by video players to stream content efficiently.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _ManifestType:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _ManifestTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Manifest._ManifestType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        MANIFEST_TYPE_UNSPECIFIED: Manifest._ManifestType.ValueType  # 0
        """The manifest type is not specified."""
        DASH: Manifest._ManifestType.ValueType  # 1
        """Dynamic Adaptive Streaming over HTTP (DASH) format.
        @see https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP
        """
        HLS: Manifest._ManifestType.ValueType  # 2
        """HTTP Live Streaming (HLS) format.
        @see https://en.wikipedia.org/wiki/HTTP_Live_Streaming
        """

    class ManifestType(_ManifestType, metaclass=_ManifestTypeEnumTypeWrapper):
        """Manifest format supported by the platform."""

    MANIFEST_TYPE_UNSPECIFIED: Manifest.ManifestType.ValueType  # 0
    """The manifest type is not specified."""
    DASH: Manifest.ManifestType.ValueType  # 1
    """Dynamic Adaptive Streaming over HTTP (DASH) format.
    @see https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP
    """
    HLS: Manifest.ManifestType.ValueType  # 2
    """HTTP Live Streaming (HLS) format.
    @see https://en.wikipedia.org/wiki/HTTP_Live_Streaming
    """

    URL_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    url: builtins.str
    """URL where the manifest file can be accessed."""
    type: global___Manifest.ManifestType.ValueType
    """Format of the manifest file."""
    def __init__(
        self,
        *,
        url: builtins.str = ...,
        type: global___Manifest.ManifestType.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["type", b"type", "url", b"url"]) -> None: ...

global___Manifest = Manifest
