"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
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.wrappers_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

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

class _ModelTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ModelType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN: _ModelType.ValueType  # 0
    CLASSIFICATION: _ModelType.ValueType  # 1
    REGRESSION: _ModelType.ValueType  # 2
    EMBEDDINGS: _ModelType.ValueType  # 3
    NLP: _ModelType.ValueType  # 4

class ModelType(_ModelType, metaclass=_ModelTypeEnumTypeWrapper): ...

UNKNOWN: ModelType.ValueType  # 0
CLASSIFICATION: ModelType.ValueType  # 1
REGRESSION: ModelType.ValueType  # 2
EMBEDDINGS: ModelType.ValueType  # 3
NLP: ModelType.ValueType  # 4
global___ModelType = ModelType

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

    COUNT_FIELD_NUMBER: builtins.int
    TRUE_COUNT_FIELD_NUMBER: builtins.int
    NULL_COUNT_FIELD_NUMBER: builtins.int
    count: builtins.int
    @property
    def true_count(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def null_count(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    def __init__(
        self,
        *,
        count: builtins.int = ...,
        true_count: google.protobuf.wrappers_pb2.Int64Value | None = ...,
        null_count: google.protobuf.wrappers_pb2.Int64Value | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["null_count", b"null_count", "true_count", b"true_count"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["count", b"count", "null_count", b"null_count", "true_count", b"true_count"]) -> None: ...

global___CountersV0 = CountersV0

class InferredType(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[InferredType._Type.ValueType], builtins.type):  # noqa: F821
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: InferredType._Type.ValueType  # 0
        NULL: InferredType._Type.ValueType  # 1
        FRACTIONAL: InferredType._Type.ValueType  # 2
        INTEGRAL: InferredType._Type.ValueType  # 3
        BOOLEAN: InferredType._Type.ValueType  # 4
        STRING: InferredType._Type.ValueType  # 5

    class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
    UNKNOWN: InferredType.Type.ValueType  # 0
    NULL: InferredType.Type.ValueType  # 1
    FRACTIONAL: InferredType.Type.ValueType  # 2
    INTEGRAL: InferredType.Type.ValueType  # 3
    BOOLEAN: InferredType.Type.ValueType  # 4
    STRING: InferredType.Type.ValueType  # 5

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

global___InferredType = InferredType

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

    COUNT_FIELD_NUMBER: builtins.int
    MIN_FIELD_NUMBER: builtins.int
    MAX_FIELD_NUMBER: builtins.int
    SUM_FIELD_NUMBER: builtins.int
    count: builtins.int
    min: builtins.float
    max: builtins.float
    sum: builtins.float
    def __init__(
        self,
        *,
        count: builtins.int = ...,
        min: builtins.float = ...,
        max: builtins.float = ...,
        sum: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["count", b"count", "max", b"max", "min", b"min", "sum", b"sum"]) -> None: ...

global___DoublesMessage = DoublesMessage

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

    COUNT_FIELD_NUMBER: builtins.int
    MIN_FIELD_NUMBER: builtins.int
    MAX_FIELD_NUMBER: builtins.int
    SUM_FIELD_NUMBER: builtins.int
    count: builtins.int
    min: builtins.int
    max: builtins.int
    sum: builtins.int
    def __init__(
        self,
        *,
        count: builtins.int = ...,
        min: builtins.int = ...,
        max: builtins.int = ...,
        sum: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["count", b"count", "max", b"max", "min", b"min", "sum", b"sum"]) -> None: ...

global___LongsMessage = LongsMessage

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

    COUNT_FIELD_NUMBER: builtins.int
    SUM_FIELD_NUMBER: builtins.int
    MEAN_FIELD_NUMBER: builtins.int
    count: builtins.int
    sum: builtins.float
    """sample variance * (n-1)"""
    mean: builtins.float
    def __init__(
        self,
        *,
        count: builtins.int = ...,
        sum: builtins.float = ...,
        mean: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["count", b"count", "mean", b"mean", "sum", b"sum"]) -> None: ...

global___VarianceMessage = VarianceMessage

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

    SKETCH_FIELD_NUMBER: builtins.int
    LG_MAX_K_FIELD_NUMBER: builtins.int
    sketch: builtins.bytes
    lg_max_k: builtins.int
    def __init__(
        self,
        *,
        sketch: builtins.bytes = ...,
        lg_max_k: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["lg_max_k", b"lg_max_k", "sketch", b"sketch"]) -> None: ...

global___FrequentNumbersSketchMessage = FrequentNumbersSketchMessage

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

    SKETCH_FIELD_NUMBER: builtins.int
    LG_MAX_K_FIELD_NUMBER: builtins.int
    sketch: builtins.bytes
    lg_max_k: builtins.int
    def __init__(
        self,
        *,
        sketch: builtins.bytes = ...,
        lg_max_k: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["lg_max_k", b"lg_max_k", "sketch", b"sketch"]) -> None: ...

global___FrequentItemsSketchMessageV0 = FrequentItemsSketchMessageV0

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

    VARIANCE_FIELD_NUMBER: builtins.int
    DOUBLES_FIELD_NUMBER: builtins.int
    LONGS_FIELD_NUMBER: builtins.int
    HISTOGRAM_FIELD_NUMBER: builtins.int
    THETA_FIELD_NUMBER: builtins.int
    COMPACT_THETA_FIELD_NUMBER: builtins.int
    FREQUENT_NUMBERS_FIELD_NUMBER: builtins.int
    @property
    def variance(self) -> global___VarianceMessage: ...
    @property
    def doubles(self) -> global___DoublesMessage: ...
    @property
    def longs(self) -> global___LongsMessage: ...
    histogram: builtins.bytes
    """sketches"""
    theta: builtins.bytes
    compact_theta: builtins.bytes
    @property
    def frequent_numbers(self) -> global___FrequentNumbersSketchMessage: ...
    def __init__(
        self,
        *,
        variance: global___VarianceMessage | None = ...,
        doubles: global___DoublesMessage | None = ...,
        longs: global___LongsMessage | None = ...,
        histogram: builtins.bytes = ...,
        theta: builtins.bytes = ...,
        compact_theta: builtins.bytes = ...,
        frequent_numbers: global___FrequentNumbersSketchMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["doubles", b"doubles", "frequent_numbers", b"frequent_numbers", "longs", b"longs", "numbers", b"numbers", "variance", b"variance"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["compact_theta", b"compact_theta", "doubles", b"doubles", "frequent_numbers", b"frequent_numbers", "histogram", b"histogram", "longs", b"longs", "numbers", b"numbers", "theta", b"theta", "variance", b"variance"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["numbers", b"numbers"]) -> typing_extensions.Literal["doubles", "longs"] | None: ...

global___NumbersMessageV0 = NumbersMessageV0

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

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

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> global___NumbersMessageV0: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: global___NumbersMessageV0 | None = ...,
        ) -> 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: ...

    CHAR_LIST_FIELD_NUMBER: builtins.int
    CHAR_POS_MAP_FIELD_NUMBER: builtins.int
    char_list: builtins.str
    @property
    def char_pos_map(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___NumbersMessageV0]: ...
    def __init__(
        self,
        *,
        char_list: builtins.str = ...,
        char_pos_map: collections.abc.Mapping[builtins.str, global___NumbersMessageV0] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["char_list", b"char_list", "char_pos_map", b"char_pos_map"]) -> None: ...

global___CharPosMessage = CharPosMessage

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

    COUNT_FIELD_NUMBER: builtins.int
    THETA_FIELD_NUMBER: builtins.int
    ITEMS_FIELD_NUMBER: builtins.int
    COMPACT_THETA_FIELD_NUMBER: builtins.int
    LENGTH_FIELD_NUMBER: builtins.int
    TOKEN_LENGTH_FIELD_NUMBER: builtins.int
    CHAR_POS_TRACKER_FIELD_NUMBER: builtins.int
    count: builtins.int
    theta: builtins.bytes
    """sketches"""
    items: builtins.bytes
    compact_theta: builtins.bytes
    @property
    def length(self) -> global___NumbersMessageV0: ...
    @property
    def token_length(self) -> global___NumbersMessageV0: ...
    @property
    def char_pos_tracker(self) -> global___CharPosMessage: ...
    def __init__(
        self,
        *,
        count: builtins.int = ...,
        theta: builtins.bytes = ...,
        items: builtins.bytes = ...,
        compact_theta: builtins.bytes = ...,
        length: global___NumbersMessageV0 | None = ...,
        token_length: global___NumbersMessageV0 | None = ...,
        char_pos_tracker: global___CharPosMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["char_pos_tracker", b"char_pos_tracker", "length", b"length", "token_length", b"token_length"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["char_pos_tracker", b"char_pos_tracker", "compact_theta", b"compact_theta", "count", b"count", "items", b"items", "length", b"length", "theta", b"theta", "token_length", b"token_length"]) -> None: ...

global___StringsMessageV0 = StringsMessageV0

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

    class TypeCountsEntry(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: ...

    TYPECOUNTS_FIELD_NUMBER: builtins.int
    INFERRED_TYPE_FIELD_NUMBER: builtins.int
    @property
    def typeCounts(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.int]: ...
    @property
    def inferred_type(self) -> global___InferredType: ...
    def __init__(
        self,
        *,
        typeCounts: collections.abc.Mapping[builtins.int, builtins.int] | None = ...,
        inferred_type: global___InferredType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["inferred_type", b"inferred_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["inferred_type", b"inferred_type", "typeCounts", b"typeCounts"]) -> None: ...

global___SchemaMessageV0 = SchemaMessageV0

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

    NAME_FIELD_NUMBER: builtins.int
    COUNTERS_FIELD_NUMBER: builtins.int
    SCHEMA_FIELD_NUMBER: builtins.int
    NUMBERS_FIELD_NUMBER: builtins.int
    STRINGS_FIELD_NUMBER: builtins.int
    INFERRED_TYPE_FIELD_NUMBER: builtins.int
    FREQUENT_ITEMS_FIELD_NUMBER: builtins.int
    CARDINALITY_TRACKER_FIELD_NUMBER: builtins.int
    name: builtins.str
    @property
    def counters(self) -> global___CountersV0: ...
    @property
    def schema(self) -> global___SchemaMessageV0: ...
    @property
    def numbers(self) -> global___NumbersMessageV0: ...
    @property
    def strings(self) -> global___StringsMessageV0: ...
    @property
    def inferred_type(self) -> global___InferredType: ...
    @property
    def frequent_items(self) -> global___FrequentItemsSketchMessageV0: ...
    @property
    def cardinality_tracker(self) -> global___HllSketchMessageV0: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        counters: global___CountersV0 | None = ...,
        schema: global___SchemaMessageV0 | None = ...,
        numbers: global___NumbersMessageV0 | None = ...,
        strings: global___StringsMessageV0 | None = ...,
        inferred_type: global___InferredType | None = ...,
        frequent_items: global___FrequentItemsSketchMessageV0 | None = ...,
        cardinality_tracker: global___HllSketchMessageV0 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cardinality_tracker", b"cardinality_tracker", "counters", b"counters", "frequent_items", b"frequent_items", "inferred_type", b"inferred_type", "numbers", b"numbers", "schema", b"schema", "strings", b"strings"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cardinality_tracker", b"cardinality_tracker", "counters", b"counters", "frequent_items", b"frequent_items", "inferred_type", b"inferred_type", "name", b"name", "numbers", b"numbers", "schema", b"schema", "strings", b"strings"]) -> None: ...

global___ColumnMessageV0 = ColumnMessageV0

class DatasetPropertiesV0(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: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> 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: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> 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
    SESSION_ID_FIELD_NUMBER: builtins.int
    SESSION_TIMESTAMP_FIELD_NUMBER: builtins.int
    DATA_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
    session_id: builtins.str
    session_timestamp: builtins.int
    data_timestamp: builtins.int
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def metadata(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
        """TODO: store other configuration here"""
    def __init__(
        self,
        *,
        schema_major_version: builtins.int = ...,
        schema_minor_version: builtins.int = ...,
        session_id: builtins.str = ...,
        session_timestamp: builtins.int = ...,
        data_timestamp: builtins.int = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        metadata: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["data_timestamp", b"data_timestamp", "metadata", b"metadata", "schema_major_version", b"schema_major_version", "schema_minor_version", b"schema_minor_version", "session_id", b"session_id", "session_timestamp", b"session_timestamp", "tags", b"tags"]) -> None: ...

global___DatasetPropertiesV0 = DatasetPropertiesV0

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

    LABELS_FIELD_NUMBER: builtins.int
    PREDICTION_FIELD_FIELD_NUMBER: builtins.int
    TARGET_FIELD_FIELD_NUMBER: builtins.int
    SCORE_FIELD_FIELD_NUMBER: builtins.int
    SCORES_FIELD_NUMBER: builtins.int
    @property
    def labels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    prediction_field: builtins.str
    target_field: builtins.str
    score_field: builtins.str
    @property
    def scores(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NumbersMessageV0]:
        """a flattened NxN matrix (N = len(labels))"""
    def __init__(
        self,
        *,
        labels: collections.abc.Iterable[builtins.str] | None = ...,
        prediction_field: builtins.str = ...,
        target_field: builtins.str = ...,
        score_field: builtins.str = ...,
        scores: collections.abc.Iterable[global___NumbersMessageV0] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["labels", b"labels", "prediction_field", b"prediction_field", "score_field", b"score_field", "scores", b"scores", "target_field", b"target_field"]) -> None: ...

global___ScoreMatrixMessage = ScoreMatrixMessage

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

    PREDICTION_FIELD_FIELD_NUMBER: builtins.int
    TARGET_FIELD_FIELD_NUMBER: builtins.int
    COUNT_FIELD_NUMBER: builtins.int
    SUM_ABS_DIFF_FIELD_NUMBER: builtins.int
    SUM_DIFF_FIELD_NUMBER: builtins.int
    SUM2_DIFF_FIELD_NUMBER: builtins.int
    prediction_field: builtins.str
    target_field: builtins.str
    count: builtins.int
    sum_abs_diff: builtins.float
    sum_diff: builtins.float
    sum2_diff: builtins.float
    def __init__(
        self,
        *,
        prediction_field: builtins.str = ...,
        target_field: builtins.str = ...,
        count: builtins.int = ...,
        sum_abs_diff: builtins.float = ...,
        sum_diff: builtins.float = ...,
        sum2_diff: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["count", b"count", "prediction_field", b"prediction_field", "sum2_diff", b"sum2_diff", "sum_abs_diff", b"sum_abs_diff", "sum_diff", b"sum_diff", "target_field", b"target_field"]) -> None: ...

global___RegressionMetricsMessage = RegressionMetricsMessage

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

    SCOREMATRIX_FIELD_NUMBER: builtins.int
    MODELTYPE_FIELD_NUMBER: builtins.int
    REGRESSIONMETRICS_FIELD_NUMBER: builtins.int
    @property
    def scoreMatrix(self) -> global___ScoreMatrixMessage: ...
    modelType: global___ModelType.ValueType
    @property
    def regressionMetrics(self) -> global___RegressionMetricsMessage: ...
    def __init__(
        self,
        *,
        scoreMatrix: global___ScoreMatrixMessage | None = ...,
        modelType: global___ModelType.ValueType = ...,
        regressionMetrics: global___RegressionMetricsMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["regressionMetrics", b"regressionMetrics", "scoreMatrix", b"scoreMatrix"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["modelType", b"modelType", "regressionMetrics", b"regressionMetrics", "scoreMatrix", b"scoreMatrix"]) -> None: ...

global___ModelMetricsMessage = ModelMetricsMessage

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

    OUTPUT_FIELDS_FIELD_NUMBER: builtins.int
    METRICS_FIELD_NUMBER: builtins.int
    @property
    def output_fields(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Reserving fields for ModelMessage"""
    @property
    def metrics(self) -> global___ModelMetricsMessage: ...
    def __init__(
        self,
        *,
        output_fields: collections.abc.Iterable[builtins.str] | None = ...,
        metrics: global___ModelMetricsMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["metrics", b"metrics"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["metrics", b"metrics", "output_fields", b"output_fields"]) -> None: ...

global___ModelProfileMessage = ModelProfileMessage

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

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

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> global___ColumnMessageV0: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: global___ColumnMessageV0 | None = ...,
        ) -> 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: ...

    PROPERTIES_FIELD_NUMBER: builtins.int
    COLUMNS_FIELD_NUMBER: builtins.int
    MODEPROFILE_FIELD_NUMBER: builtins.int
    @property
    def properties(self) -> global___DatasetPropertiesV0: ...
    @property
    def columns(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___ColumnMessageV0]: ...
    @property
    def modeProfile(self) -> global___ModelProfileMessage:
        """reserve other fields for dataset level data"""
    def __init__(
        self,
        *,
        properties: global___DatasetPropertiesV0 | None = ...,
        columns: collections.abc.Mapping[builtins.str, global___ColumnMessageV0] | None = ...,
        modeProfile: global___ModelProfileMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["modeProfile", b"modeProfile", "properties", b"properties"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["columns", b"columns", "modeProfile", b"modeProfile", "properties", b"properties"]) -> None: ...

global___DatasetProfileMessageV0 = DatasetProfileMessageV0

class ColumnsChunkSegment(google.protobuf.message.Message):
    """*
    The follow section is for transmission and reconstruction of the dataset
    in WhyLogs backend
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MARKER_FIELD_NUMBER: builtins.int
    COLUMNS_FIELD_NUMBER: builtins.int
    marker: builtins.str
    """UUID is required to aggregate to the original message
    This should map back to the original dataset
    """
    @property
    def columns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ColumnMessageV0]: ...
    def __init__(
        self,
        *,
        marker: builtins.str = ...,
        columns: collections.abc.Iterable[global___ColumnMessageV0] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["columns", b"columns", "marker", b"marker"]) -> None: ...

global___ColumnsChunkSegment = ColumnsChunkSegment

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

    MARKER_FIELD_NUMBER: builtins.int
    PROPERTIES_FIELD_NUMBER: builtins.int
    marker: builtins.str
    @property
    def properties(self) -> global___DatasetPropertiesV0: ...
    def __init__(
        self,
        *,
        marker: builtins.str = ...,
        properties: global___DatasetPropertiesV0 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["properties", b"properties"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["marker", b"marker", "properties", b"properties"]) -> None: ...

global___DatasetMetadataSegment = DatasetMetadataSegment

class MessageSegment(google.protobuf.message.Message):
    """A segment of a dataset profile. This can be used to composed the
    original object back
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MARKER_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    COLUMNS_FIELD_NUMBER: builtins.int
    marker: builtins.str
    @property
    def metadata(self) -> global___DatasetMetadataSegment: ...
    @property
    def columns(self) -> global___ColumnsChunkSegment: ...
    def __init__(
        self,
        *,
        marker: builtins.str = ...,
        metadata: global___DatasetMetadataSegment | None = ...,
        columns: global___ColumnsChunkSegment | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["columns", b"columns", "item", b"item", "metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["columns", b"columns", "item", b"item", "marker", b"marker", "metadata", b"metadata"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["item", b"item"]) -> typing_extensions.Literal["metadata", "columns"] | None: ...

global___MessageSegment = MessageSegment

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

    SKETCH_FIELD_NUMBER: builtins.int
    LG_K_FIELD_NUMBER: builtins.int
    sketch: builtins.bytes
    lg_k: builtins.int
    def __init__(
        self,
        *,
        sketch: builtins.bytes = ...,
        lg_k: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["lg_k", b"lg_k", "sketch", b"sketch"]) -> None: ...

global___HllSketchMessageV0 = HllSketchMessageV0

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

    SKETCH_FIELD_NUMBER: builtins.int
    LG_K_FIELD_NUMBER: builtins.int
    sketch: builtins.bytes
    lg_k: builtins.int
    def __init__(
        self,
        *,
        sketch: builtins.bytes = ...,
        lg_k: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["lg_k", b"lg_k", "sketch", b"sketch"]) -> None: ...

global___KllFloatsSketchMessage = KllFloatsSketchMessage
