"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.any_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.struct_pb2
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class DataType(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class _Type:
        ValueType = typing.NewType('ValueType', builtins.int)
        V: typing_extensions.TypeAlias = ValueType
    class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DataType._Type.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: DataType._Type.ValueType  # 0
        NULL: DataType._Type.ValueType  # 1
        FRACTIONAL: DataType._Type.ValueType  # 2
        INTEGRAL: DataType._Type.ValueType  # 3
        BOOLEAN: DataType._Type.ValueType  # 4
        STRING: DataType._Type.ValueType  # 5
    class Type(_Type, metaclass=_TypeEnumTypeWrapper):
        pass

    UNKNOWN: DataType.Type.ValueType  # 0
    NULL: DataType.Type.ValueType  # 1
    FRACTIONAL: DataType.Type.ValueType  # 2
    INTEGRAL: DataType.Type.ValueType  # 3
    BOOLEAN: DataType.Type.ValueType  # 4
    STRING: DataType.Type.ValueType  # 5

    TYPE_FIELD_NUMBER: builtins.int
    type: global___DataType.Type.ValueType
    def __init__(self,
        *,
        type: global___DataType.Type.ValueType = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["type",b"type"]) -> None: ...
global___DataType = DataType

class HllSketchMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SKETCH_FIELD_NUMBER: builtins.int
    sketch: builtins.bytes
    def __init__(self,
        *,
        sketch: builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["sketch",b"sketch"]) -> None: ...
global___HllSketchMessage = HllSketchMessage

class FrequentItemsSketchMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SKETCH_FIELD_NUMBER: builtins.int
    sketch: builtins.bytes
    def __init__(self,
        *,
        sketch: builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["sketch",b"sketch"]) -> None: ...
global___FrequentItemsSketchMessage = FrequentItemsSketchMessage

class KllSketchMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SKETCH_FIELD_NUMBER: builtins.int
    sketch: builtins.bytes
    def __init__(self,
        *,
        sketch: builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["sketch",b"sketch"]) -> None: ...
global___KllSketchMessage = KllSketchMessage

class CpcSketchMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SKETCH_FIELD_NUMBER: builtins.int
    sketch: builtins.bytes
    def __init__(self,
        *,
        sketch: builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["sketch",b"sketch"]) -> None: ...
global___CpcSketchMessage = CpcSketchMessage

class MetricComponentMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TYPE_ID_FIELD_NUMBER: builtins.int
    N_FIELD_NUMBER: builtins.int
    D_FIELD_NUMBER: builtins.int
    FREQUENT_ITEMS_FIELD_NUMBER: builtins.int
    HLL_FIELD_NUMBER: builtins.int
    KLL_FIELD_NUMBER: builtins.int
    CPC_FIELD_NUMBER: builtins.int
    SERIALIZED_BYTES_FIELD_NUMBER: builtins.int
    DATACLASS_PARAM_FIELD_NUMBER: builtins.int
    MSG_FIELD_NUMBER: builtins.int
    type_id: builtins.int
    """type ID. It might determine how a field gets serder and the aggregation logic"""

    n: builtins.int
    """first class citizens"""

    d: builtins.float
    @property
    def frequent_items(self) -> global___FrequentItemsSketchMessage: ...
    @property
    def hll(self) -> global___HllSketchMessage: ...
    @property
    def kll(self) -> global___KllSketchMessage: ...
    @property
    def cpc(self) -> global___CpcSketchMessage: ...
    serialized_bytes: builtins.bytes
    """extension points"""

    @property
    def dataclass_param(self) -> google.protobuf.struct_pb2.Struct: ...
    @property
    def msg(self) -> google.protobuf.any_pb2.Any: ...
    def __init__(self,
        *,
        type_id: builtins.int = ...,
        n: builtins.int = ...,
        d: builtins.float = ...,
        frequent_items: typing.Optional[global___FrequentItemsSketchMessage] = ...,
        hll: typing.Optional[global___HllSketchMessage] = ...,
        kll: typing.Optional[global___KllSketchMessage] = ...,
        cpc: typing.Optional[global___CpcSketchMessage] = ...,
        serialized_bytes: builtins.bytes = ...,
        dataclass_param: typing.Optional[google.protobuf.struct_pb2.Struct] = ...,
        msg: typing.Optional[google.protobuf.any_pb2.Any] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cpc",b"cpc","d",b"d","dataclass_param",b"dataclass_param","frequent_items",b"frequent_items","hll",b"hll","kll",b"kll","msg",b"msg","n",b"n","serialized_bytes",b"serialized_bytes","value",b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cpc",b"cpc","d",b"d","dataclass_param",b"dataclass_param","frequent_items",b"frequent_items","hll",b"hll","kll",b"kll","msg",b"msg","n",b"n","serialized_bytes",b"serialized_bytes","type_id",b"type_id","value",b"value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["value",b"value"]) -> typing.Optional[typing_extensions.Literal["n","d","frequent_items","hll","kll","cpc","serialized_bytes","dataclass_param","msg"]]: ...
global___MetricComponentMessage = MetricComponentMessage

class MetricMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class MetricComponentsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text
        @property
        def value(self) -> global___MetricComponentMessage: ...
        def __init__(self,
            *,
            key: typing.Text = ...,
            value: typing.Optional[global___MetricComponentMessage] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

    METRIC_COMPONENTS_FIELD_NUMBER: builtins.int
    @property
    def metric_components(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___MetricComponentMessage]: ...
    def __init__(self,
        *,
        metric_components: typing.Optional[typing.Mapping[typing.Text, global___MetricComponentMessage]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["metric_components",b"metric_components"]) -> None: ...
global___MetricMessage = MetricMessage

class ColumnMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class MetricComponentsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text
        @property
        def value(self) -> global___MetricComponentMessage: ...
        def __init__(self,
            *,
            key: typing.Text = ...,
            value: typing.Optional[global___MetricComponentMessage] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

    METRIC_COMPONENTS_FIELD_NUMBER: builtins.int
    @property
    def metric_components(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___MetricComponentMessage]: ...
    def __init__(self,
        *,
        metric_components: typing.Optional[typing.Mapping[typing.Text, global___MetricComponentMessage]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["metric_components",b"metric_components"]) -> None: ...
global___ColumnMessage = ColumnMessage

class DatasetProperties(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class TagsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text
        value: typing.Text
        def __init__(self,
            *,
            key: typing.Text = ...,
            value: typing.Text = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

    class MetadataEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text
        value: typing.Text
        def __init__(self,
            *,
            key: typing.Text = ...,
            value: typing.Text = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

    SCHEMA_MAJOR_VERSION_FIELD_NUMBER: builtins.int
    SCHEMA_MINOR_VERSION_FIELD_NUMBER: builtins.int
    CREATION_TIMESTAMP_FIELD_NUMBER: builtins.int
    DATASET_TIMESTAMP_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    schema_major_version: builtins.int
    schema_minor_version: builtins.int
    creation_timestamp: builtins.int
    dataset_timestamp: builtins.int
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ...
    @property
    def metadata(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ...
    def __init__(self,
        *,
        schema_major_version: builtins.int = ...,
        schema_minor_version: builtins.int = ...,
        creation_timestamp: builtins.int = ...,
        dataset_timestamp: builtins.int = ...,
        tags: typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ...,
        metadata: typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["creation_timestamp",b"creation_timestamp","dataset_timestamp",b"dataset_timestamp","metadata",b"metadata","schema_major_version",b"schema_major_version","schema_minor_version",b"schema_minor_version","tags",b"tags"]) -> None: ...
global___DatasetProperties = DatasetProperties

class ChunkOffsets(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    OFFSETS_FIELD_NUMBER: builtins.int
    @property
    def offsets(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(self,
        *,
        offsets: typing.Optional[typing.Iterable[builtins.int]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["offsets",b"offsets"]) -> None: ...
global___ChunkOffsets = ChunkOffsets

class ChunkMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class MetricComponentsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.int
        @property
        def value(self) -> global___MetricComponentMessage: ...
        def __init__(self,
            *,
            key: builtins.int = ...,
            value: typing.Optional[global___MetricComponentMessage] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

    METRIC_COMPONENTS_FIELD_NUMBER: builtins.int
    @property
    def metric_components(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___MetricComponentMessage]: ...
    def __init__(self,
        *,
        metric_components: typing.Optional[typing.Mapping[builtins.int, global___MetricComponentMessage]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["metric_components",b"metric_components"]) -> None: ...
global___ChunkMessage = ChunkMessage

class ChunkHeader(google.protobuf.message.Message):
    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[ChunkHeader._ChunkType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        DATASET: ChunkHeader._ChunkType.ValueType  # 0
        COLUMN: ChunkHeader._ChunkType.ValueType  # 2
    class ChunkType(_ChunkType, metaclass=_ChunkTypeEnumTypeWrapper):
        pass

    DATASET: ChunkHeader.ChunkType.ValueType  # 0
    COLUMN: ChunkHeader.ChunkType.ValueType  # 2

    TYPE_FIELD_NUMBER: builtins.int
    TAG_FIELD_NUMBER: builtins.int
    LENGTH_FIELD_NUMBER: builtins.int
    type: global___ChunkHeader.ChunkType.ValueType
    tag: typing.Text
    length: builtins.int
    def __init__(self,
        *,
        type: global___ChunkHeader.ChunkType.ValueType = ...,
        tag: typing.Text = ...,
        length: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["length",b"length","tag",b"tag","type",b"type"]) -> None: ...
global___ChunkHeader = ChunkHeader

class DatasetProfileHeader(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class ColumnOffsetsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text
        @property
        def value(self) -> global___ChunkOffsets: ...
        def __init__(self,
            *,
            key: typing.Text = ...,
            value: typing.Optional[global___ChunkOffsets] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value",b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

    class IndexedMetricPathsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.int
        value: typing.Text
        def __init__(self,
            *,
            key: builtins.int = ...,
            value: typing.Text = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

    PROPERTIES_FIELD_NUMBER: builtins.int
    COLUMN_OFFSETS_FIELD_NUMBER: builtins.int
    METRIC_OFFSETS_FIELD_NUMBER: builtins.int
    LENGTH_FIELD_NUMBER: builtins.int
    INDEXED_METRIC_PATHS_FIELD_NUMBER: builtins.int
    @property
    def properties(self) -> global___DatasetProperties: ...
    @property
    def column_offsets(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___ChunkOffsets]: ...
    @property
    def metric_offsets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ChunkOffsets]: ...
    length: builtins.int
    """total length of the rest of the data for this profile."""

    @property
    def indexed_metric_paths(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, typing.Text]: ...
    def __init__(self,
        *,
        properties: typing.Optional[global___DatasetProperties] = ...,
        column_offsets: typing.Optional[typing.Mapping[typing.Text, global___ChunkOffsets]] = ...,
        metric_offsets: typing.Optional[typing.Iterable[global___ChunkOffsets]] = ...,
        length: builtins.int = ...,
        indexed_metric_paths: typing.Optional[typing.Mapping[builtins.int, typing.Text]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["properties",b"properties"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["column_offsets",b"column_offsets","indexed_metric_paths",b"indexed_metric_paths","length",b"length","metric_offsets",b"metric_offsets","properties",b"properties"]) -> None: ...
global___DatasetProfileHeader = DatasetProfileHeader

class SegmentTag(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    KEY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    key: typing.Text
    value: typing.Text
    def __init__(self,
        *,
        key: typing.Text = ...,
        value: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...
global___SegmentTag = SegmentTag

class Segment(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TAGS_FIELD_NUMBER: builtins.int
    PARTITION_ID_FIELD_NUMBER: builtins.int
    @property
    def tags(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SegmentTag]: ...
    partition_id: typing.Text
    def __init__(self,
        *,
        tags: typing.Optional[typing.Iterable[global___SegmentTag]] = ...,
        partition_id: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["partition_id",b"partition_id","tags",b"tags"]) -> None: ...
global___Segment = Segment

class SegmentationPartition(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    NAME_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    name: typing.Text
    id: typing.Text
    def __init__(self,
        *,
        name: typing.Text = ...,
        id: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id",b"id","name",b"name"]) -> None: ...
global___SegmentationPartition = SegmentationPartition

class DatasetSegmentHeader(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    class OffsetsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.int
        value: builtins.int
        def __init__(self,
            *,
            key: builtins.int = ...,
            value: builtins.int = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

    HAS_SEGMENTS_FIELD_NUMBER: builtins.int
    SEGMENTS_FIELD_NUMBER: builtins.int
    OFFSETS_FIELD_NUMBER: builtins.int
    has_segments: builtins.bool
    """whether the file contains segmented data or not"""

    @property
    def segments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Segment]:
        """list of segments"""
        pass
    @property
    def offsets(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]:
        """we want the indices of the map of offsets to have static size, and thus we use fixed32 bytes"""
        pass
    def __init__(self,
        *,
        has_segments: builtins.bool = ...,
        segments: typing.Optional[typing.Iterable[global___Segment]] = ...,
        offsets: typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["has_segments",b"has_segments","offsets",b"offsets","segments",b"segments"]) -> None: ...
global___DatasetSegmentHeader = DatasetSegmentHeader
