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

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions
from builtins import (
    bool,
    bytes,
    int,
    str,
)
from google.protobuf.descriptor import (
    Descriptor,
    FileDescriptor,
)
from google.protobuf.message import (
    Message,
)

DESCRIPTOR: FileDescriptor

@typing_extensions.final
class Blob(Message):
    """
    STORAGE LAYER: Storing primitives.
    """

    DESCRIPTOR: Descriptor

    RAW_FIELD_NUMBER: int
    RAW_SIZE_FIELD_NUMBER: int
    ZLIB_DATA_FIELD_NUMBER: int
    LZMA_DATA_FIELD_NUMBER: int
    OBSOLETE_BZIP2_DATA_FIELD_NUMBER: int
    raw: bytes
    """No compression"""
    raw_size: int
    """When compressed, the uncompressed size"""
    zlib_data: bytes
    """Possible compressed versions of the data."""
    lzma_data: bytes
    """PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED."""
    OBSOLETE_bzip2_data: bytes
    """Formerly used for bzip2 compressed data. Depreciated in 2010.
    Don't reuse this tag number.
    """
    def __init__(
        self,
        *,
        raw: bytes | None = ...,
        raw_size: int | None = ...,
        zlib_data: bytes | None = ...,
        lzma_data: bytes | None = ...,
        OBSOLETE_bzip2_data: bytes | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "OBSOLETE_bzip2_data",
            b"OBSOLETE_bzip2_data",
            "lzma_data",
            b"lzma_data",
            "raw",
            b"raw",
            "raw_size",
            b"raw_size",
            "zlib_data",
            b"zlib_data",
        ],
    ) -> bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "OBSOLETE_bzip2_data",
            b"OBSOLETE_bzip2_data",
            "lzma_data",
            b"lzma_data",
            "raw",
            b"raw",
            "raw_size",
            b"raw_size",
            "zlib_data",
            b"zlib_data",
        ],
    ) -> None: ...

@typing_extensions.final
class BlobHeader(Message):
    """A file contains an sequence of fileblock headers, each prefixed by
    their length in network byte order, followed by a data block
    containing the actual data. types staring with a "_" are reserved.
    """

    DESCRIPTOR: Descriptor

    TYPE_FIELD_NUMBER: int
    INDEXDATA_FIELD_NUMBER: int
    DATASIZE_FIELD_NUMBER: int
    type: str
    indexdata: bytes
    datasize: int
    def __init__(
        self,
        *,
        type: str | None = ...,
        indexdata: bytes | None = ...,
        datasize: int | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "datasize", b"datasize", "indexdata", b"indexdata", "type", b"type"
        ],
    ) -> bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "datasize", b"datasize", "indexdata", b"indexdata", "type", b"type"
        ],
    ) -> None: ...
