"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import artifact.artifact.v1alpha.artifact_pb2
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
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_extensions.final
class GetFileCatalogRequest(google.protobuf.message.Message):
    """GetFileCatalogRequest"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_ID_FIELD_NUMBER: builtins.int
    CATALOG_ID_FIELD_NUMBER: builtins.int
    FILE_ID_FIELD_NUMBER: builtins.int
    FILE_UID_FIELD_NUMBER: builtins.int
    namespace_id: builtins.str
    """id of the namespace"""
    catalog_id: builtins.str
    """id of the catalog"""
    file_id: builtins.str
    """id of the file(i.e. file name)"""
    file_uid: builtins.str
    """Uid of the file"""
    def __init__(
        self,
        *,
        namespace_id: builtins.str = ...,
        catalog_id: builtins.str = ...,
        file_id: builtins.str = ...,
        file_uid: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["catalog_id", b"catalog_id", "file_id", b"file_id", "file_uid", b"file_uid", "namespace_id", b"namespace_id"]) -> None: ...

global___GetFileCatalogRequest = GetFileCatalogRequest

@typing_extensions.final
class GetFileCatalogResponse(google.protobuf.message.Message):
    """GetFileCatalogResponse"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

    class _ChunkTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[GetFileCatalogResponse._ChunkType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        CHUNK_TYPE_UNSPECIFIED: GetFileCatalogResponse._ChunkType.ValueType  # 0
        """unspecified"""
        CHUNK_TYPE_TEXT: GetFileCatalogResponse._ChunkType.ValueType  # 1
        """text"""
        CHUNK_TYPE_IMAGE: GetFileCatalogResponse._ChunkType.ValueType  # 2
        """image"""
        CHUNK_TYPE_AUDIO: GetFileCatalogResponse._ChunkType.ValueType  # 3
        """audio"""
        CHUNK_TYPE_VIDEO: GetFileCatalogResponse._ChunkType.ValueType  # 4
        """video"""

    class ChunkType(_ChunkType, metaclass=_ChunkTypeEnumTypeWrapper):
        """chunk type"""

    CHUNK_TYPE_UNSPECIFIED: GetFileCatalogResponse.ChunkType.ValueType  # 0
    """unspecified"""
    CHUNK_TYPE_TEXT: GetFileCatalogResponse.ChunkType.ValueType  # 1
    """text"""
    CHUNK_TYPE_IMAGE: GetFileCatalogResponse.ChunkType.ValueType  # 2
    """image"""
    CHUNK_TYPE_AUDIO: GetFileCatalogResponse.ChunkType.ValueType  # 3
    """audio"""
    CHUNK_TYPE_VIDEO: GetFileCatalogResponse.ChunkType.ValueType  # 4
    """video"""

    @typing_extensions.final
    class Metadata(google.protobuf.message.Message):
        """metadata"""

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        FILE_UID_FIELD_NUMBER: builtins.int
        FILE_ID_FIELD_NUMBER: builtins.int
        FILE_TYPE_FIELD_NUMBER: builtins.int
        FILE_SIZE_FIELD_NUMBER: builtins.int
        FILE_UPLOAD_TIME_FIELD_NUMBER: builtins.int
        FILE_PROCESS_STATUS_FIELD_NUMBER: builtins.int
        file_uid: builtins.str
        """file uid"""
        file_id: builtins.str
        """file id"""
        file_type: artifact.artifact.v1alpha.artifact_pb2.FileType.ValueType
        """file type"""
        file_size: builtins.int
        """file size in bytes"""
        @property
        def file_upload_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
            """upload time"""
        file_process_status: artifact.artifact.v1alpha.artifact_pb2.FileProcessStatus.ValueType
        """file process status"""
        def __init__(
            self,
            *,
            file_uid: builtins.str = ...,
            file_id: builtins.str = ...,
            file_type: artifact.artifact.v1alpha.artifact_pb2.FileType.ValueType = ...,
            file_size: builtins.int = ...,
            file_upload_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
            file_process_status: artifact.artifact.v1alpha.artifact_pb2.FileProcessStatus.ValueType = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["file_upload_time", b"file_upload_time"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["file_id", b"file_id", "file_process_status", b"file_process_status", "file_size", b"file_size", "file_type", b"file_type", "file_uid", b"file_uid", "file_upload_time", b"file_upload_time"]) -> None: ...

    @typing_extensions.final
    class Text(google.protobuf.message.Message):
        """text message"""

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        PIPELINE_IDS_FIELD_NUMBER: builtins.int
        TRANSFORMED_CONTENT_FIELD_NUMBER: builtins.int
        TRANSFORMED_CONTENT_CHUNK_NUM_FIELD_NUMBER: builtins.int
        TRANSFORMED_CONTENT_TOKEN_NUM_FIELD_NUMBER: builtins.int
        TRANSFORMED_CONTENT_UPDATE_TIME_FIELD_NUMBER: builtins.int
        @property
        def pipeline_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
            """pipelines"""
        transformed_content: builtins.str
        """transformed content"""
        transformed_content_chunk_num: builtins.int
        """transformed content chunk number"""
        transformed_content_token_num: builtins.int
        """transformed content token number"""
        @property
        def transformed_content_update_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
            """transformed content update time"""
        def __init__(
            self,
            *,
            pipeline_ids: collections.abc.Iterable[builtins.str] | None = ...,
            transformed_content: builtins.str = ...,
            transformed_content_chunk_num: builtins.int = ...,
            transformed_content_token_num: builtins.int = ...,
            transformed_content_update_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["transformed_content_update_time", b"transformed_content_update_time"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["pipeline_ids", b"pipeline_ids", "transformed_content", b"transformed_content", "transformed_content_chunk_num", b"transformed_content_chunk_num", "transformed_content_token_num", b"transformed_content_token_num", "transformed_content_update_time", b"transformed_content_update_time"]) -> None: ...

    @typing_extensions.final
    class Chunk(google.protobuf.message.Message):
        """chunk message"""

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        UID_FIELD_NUMBER: builtins.int
        TYPE_FIELD_NUMBER: builtins.int
        START_POS_FIELD_NUMBER: builtins.int
        END_POS_FIELD_NUMBER: builtins.int
        CONTENT_FIELD_NUMBER: builtins.int
        TOKENS_NUM_FIELD_NUMBER: builtins.int
        EMBEDDING_FIELD_NUMBER: builtins.int
        CREATE_TIME_FIELD_NUMBER: builtins.int
        RETRIEVABLE_FIELD_NUMBER: builtins.int
        uid: builtins.str
        """chunk uid"""
        type: global___GetFileCatalogResponse.ChunkType.ValueType
        """chunk type. i.e. text, image, audio, and video"""
        start_pos: builtins.int
        """chunk start position"""
        end_pos: builtins.int
        """chunk end position"""
        content: builtins.str
        """chunk content"""
        tokens_num: builtins.int
        """chunk tokens num"""
        @property
        def embedding(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]:
            """embedding. float32 array"""
        @property
        def create_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
            """chunk create time"""
        retrievable: builtins.bool
        """chunk retrievable"""
        def __init__(
            self,
            *,
            uid: builtins.str = ...,
            type: global___GetFileCatalogResponse.ChunkType.ValueType = ...,
            start_pos: builtins.int = ...,
            end_pos: builtins.int = ...,
            content: builtins.str = ...,
            tokens_num: builtins.int = ...,
            embedding: collections.abc.Iterable[builtins.float] | None = ...,
            create_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
            retrievable: builtins.bool = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["create_time", b"create_time"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["content", b"content", "create_time", b"create_time", "embedding", b"embedding", "end_pos", b"end_pos", "retrievable", b"retrievable", "start_pos", b"start_pos", "tokens_num", b"tokens_num", "type", b"type", "uid", b"uid"]) -> None: ...

    ORIGINAL_DATA_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    CHUNKS_FIELD_NUMBER: builtins.int
    original_data: builtins.str
    """original data is encoded in base64"""
    @property
    def metadata(self) -> global___GetFileCatalogResponse.Metadata:
        """file catalog"""
    @property
    def text(self) -> global___GetFileCatalogResponse.Text:
        """text"""
    @property
    def chunks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GetFileCatalogResponse.Chunk]:
        """chunks"""
    def __init__(
        self,
        *,
        original_data: builtins.str = ...,
        metadata: global___GetFileCatalogResponse.Metadata | None = ...,
        text: global___GetFileCatalogResponse.Text | None = ...,
        chunks: collections.abc.Iterable[global___GetFileCatalogResponse.Chunk] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "text", b"text"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["chunks", b"chunks", "metadata", b"metadata", "original_data", b"original_data", "text", b"text"]) -> None: ...

global___GetFileCatalogResponse = GetFileCatalogResponse
