"""
@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 _FileExtensionType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _FileExtensionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FileExtensionType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    INVALID: _FileExtensionType.ValueType  # 0
    """An invalid extension type"""
    PNG: _FileExtensionType.ValueType  # 1
    """PNG extension type"""
    JPG: _FileExtensionType.ValueType  # 2
    """JPG extension type"""
    JPEG: _FileExtensionType.ValueType  # 3
    """JPEG extension type"""

class FileExtensionType(_FileExtensionType, metaclass=_FileExtensionTypeEnumTypeWrapper): ...

INVALID: FileExtensionType.ValueType  # 0
"""An invalid extension type"""
PNG: FileExtensionType.ValueType  # 1
"""PNG extension type"""
JPG: FileExtensionType.ValueType  # 2
"""JPG extension type"""
JPEG: FileExtensionType.ValueType  # 3
"""JPEG extension type"""
global___FileExtensionType = FileExtensionType

class FileTagSpec(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_ID_FIELD_NUMBER: builtins.int
    MODEL_ID_FIELD_NUMBER: builtins.int
    TAG_FIELD_NUMBER: builtins.int
    EXTENSION_FIELD_NUMBER: builtins.int
    EXTENSION_TYPE_FIELD_NUMBER: builtins.int
    ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    build_id: builtins.str
    """The Build id - file saved in"""
    model_id: builtins.str
    """The model id - file saved in"""
    tag: builtins.str
    """The wanted tag - file saved by"""
    extension: global___FileExtensionType.ValueType
    """The wanted extension type - file saved by"""
    extension_type: builtins.str
    environment_id: builtins.str
    """The environment the file is stored on"""
    path: builtins.str
    """The path we save the file in - it can be passed from outside in register"""
    def __init__(
        self,
        *,
        build_id: builtins.str = ...,
        model_id: builtins.str = ...,
        tag: builtins.str = ...,
        extension: global___FileExtensionType.ValueType = ...,
        extension_type: builtins.str = ...,
        environment_id: builtins.str = ...,
        path: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["build_id", b"build_id", "environment_id", b"environment_id", "extension", b"extension", "extension_type", b"extension_type", "model_id", b"model_id", "path", b"path", "tag", b"tag"]) -> None: ...

global___FileTagSpec = FileTagSpec

class FileTagFilter(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TAG_CONTAINS_FIELD_NUMBER: builtins.int
    TAG_PREFIX_FIELD_NUMBER: builtins.int
    tag_contains: builtins.str
    """Filter file tags by tag contains"""
    tag_prefix: builtins.str
    """Filter file tags by tag prefix"""
    def __init__(
        self,
        *,
        tag_contains: builtins.str = ...,
        tag_prefix: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["filter", b"filter", "tag_contains", b"tag_contains", "tag_prefix", b"tag_prefix"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["filter", b"filter", "tag_contains", b"tag_contains", "tag_prefix", b"tag_prefix"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["filter", b"filter"]) -> typing_extensions.Literal["tag_contains", "tag_prefix"] | None: ...

global___FileTagFilter = FileTagFilter
