"""
@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

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

class _MediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MediaType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    TYPE_UNKNOWN: _MediaType.ValueType  # 0
    TYPE_IMAGE_JPEG: _MediaType.ValueType  # 1
    TYPE_IMAGE_PNG: _MediaType.ValueType  # 2
    TYPE_VIDEO_MP4: _MediaType.ValueType  # 5
    TYPE_AUDIO_WAV: _MediaType.ValueType  # 10
    TYPE_AUDIO_MP3: _MediaType.ValueType  # 11
    TYPE_APPLICATION_PDF: _MediaType.ValueType  # 20
    TYPE_APPLICATION_XML: _MediaType.ValueType  # 21
    TYPE_TEXT_PLAIN: _MediaType.ValueType  # 30
    TYPE_WORLD_OBJECT: _MediaType.ValueType  # 40

class MediaType(_MediaType, metaclass=_MediaTypeEnumTypeWrapper):
    """*
    Defines the (MIME) type of a media instruction.
    @author: Alexander Neumann <alneuman@techfak.uni-bielefeld.de>
    """

TYPE_UNKNOWN: MediaType.ValueType  # 0
TYPE_IMAGE_JPEG: MediaType.ValueType  # 1
TYPE_IMAGE_PNG: MediaType.ValueType  # 2
TYPE_VIDEO_MP4: MediaType.ValueType  # 5
TYPE_AUDIO_WAV: MediaType.ValueType  # 10
TYPE_AUDIO_MP3: MediaType.ValueType  # 11
TYPE_APPLICATION_PDF: MediaType.ValueType  # 20
TYPE_APPLICATION_XML: MediaType.ValueType  # 21
TYPE_TEXT_PLAIN: MediaType.ValueType  # 30
TYPE_WORLD_OBJECT: MediaType.ValueType  # 40
global___MediaType = MediaType

@typing_extensions.final
class InstructionMediaValue(google.protobuf.message.Message):
    """*
    The actual value of a media instruction. Only one field should be set.
    @author: Alexander Neumann <alneuman@techfak.uni-bielefeld.de>
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    URI_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    LOOPED_FIELD_NUMBER: builtins.int
    AUTOPLAY_FIELD_NUMBER: builtins.int
    uri: builtins.str
    """/ a local ressource identifier; resolution is receiver-specific"""
    url: builtins.str
    """/ a global reference to a ressource; should be taken literally"""
    data: builtins.bytes
    """/ the media file as a data stream"""
    type: global___MediaType.ValueType
    """/ type hint for this media value"""
    looped: builtins.bool
    """/ determines whether a media file should be looped (if playable)"""
    autoplay: builtins.bool
    """/ determines whether a media file should be opened/executed right away"""
    def __init__(
        self,
        *,
        uri: builtins.str = ...,
        url: builtins.str = ...,
        data: builtins.bytes = ...,
        type: global___MediaType.ValueType = ...,
        looped: builtins.bool = ...,
        autoplay: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["autoplay", b"autoplay", "data", b"data", "looped", b"looped", "type", b"type", "uri", b"uri", "url", b"url"]) -> None: ...

global___InstructionMediaValue = InstructionMediaValue
