"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Messages between main and media server"""

import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
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 UploadRequest(google.protobuf.message.Message):
    """This service is called only by the backend to coordinate file upload between the backend and media servers"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

    class _UploadTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[UploadRequest._UploadType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        IMAGE: UploadRequest._UploadType.ValueType  # 0

    class UploadType(_UploadType, metaclass=_UploadTypeEnumTypeWrapper): ...
    IMAGE: UploadRequest.UploadType.ValueType  # 0

    KEY_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    EXPIRY_FIELD_NUMBER: builtins.int
    MAX_WIDTH_FIELD_NUMBER: builtins.int
    MAX_HEIGHT_FIELD_NUMBER: builtins.int
    key: builtins.str
    type: Global___UploadRequest.UploadType.ValueType
    max_width: builtins.int
    max_height: builtins.int
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def expiry(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        key: builtins.str | None = ...,
        type: Global___UploadRequest.UploadType.ValueType | None = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        expiry: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        max_width: builtins.int | None = ...,
        max_height: builtins.int | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["created", b"created", "expiry", b"expiry"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["created", b"created", "expiry", b"expiry", "key", b"key", "max_height", b"max_height", "max_width", b"max_width", "type", b"type"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___UploadRequest: typing_extensions.TypeAlias = UploadRequest

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

    KEY_FIELD_NUMBER: builtins.int
    FILENAME_FIELD_NUMBER: builtins.int
    key: builtins.str
    filename: builtins.str
    def __init__(
        self,
        *,
        key: builtins.str | None = ...,
        filename: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["filename", b"filename", "key", b"key"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___UploadConfirmationReq: typing_extensions.TypeAlias = UploadConfirmationReq
