"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
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 typing
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):
    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):
    pass

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: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        null_count: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        ) -> 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):
        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):
        pass

    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: typing.Optional[global___VarianceMessage] = ...,
        doubles: typing.Optional[global___DoublesMessage] = ...,
        longs: typing.Optional[global___LongsMessage] = ...,
        histogram: builtins.bytes = ...,
        theta: builtins.bytes = ...,
        compact_theta: builtins.bytes = ...,
        frequent_numbers: typing.Optional[global___FrequentNumbersSketchMessage] = ...,
        ) -> 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.Optional[typing_extensions.Literal["doubles","longs"]]: ...
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: typing.Text
        @property
        def value(self) -> global___NumbersMessageV0: ...
        def __init__(self,
            *,
            key: typing.Text = ...,
            value: typing.Optional[global___NumbersMessageV0] = ...,
            ) -> 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: typing.Text
    @property
    def char_pos_map(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___NumbersMessageV0]: ...
    def __init__(self,
        *,
        char_list: typing.Text = ...,
        char_pos_map: typing.Optional[typing.Mapping[typing.Text, global___NumbersMessageV0]] = ...,
        ) -> 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: typing.Optional[global___NumbersMessageV0] = ...,
        token_length: typing.Optional[global___NumbersMessageV0] = ...,
        char_pos_tracker: typing.Optional[global___CharPosMessage] = ...,
        ) -> 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: typing.Optional[typing.Mapping[builtins.int, builtins.int]] = ...,
        inferred_type: typing.Optional[global___InferredType] = ...,
        ) -> 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: typing.Text
    @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: typing.Text = ...,
        counters: typing.Optional[global___CountersV0] = ...,
        schema: typing.Optional[global___SchemaMessageV0] = ...,
        numbers: typing.Optional[global___NumbersMessageV0] = ...,
        strings: typing.Optional[global___StringsMessageV0] = ...,
        inferred_type: typing.Optional[global___InferredType] = ...,
        frequent_items: typing.Optional[global___FrequentItemsSketchMessageV0] = ...,
        cardinality_tracker: typing.Optional[global___HllSketchMessageV0] = ...,
        ) -> 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: 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
    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: typing.Text
    session_timestamp: builtins.int
    data_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]:
        """TODO: store other configuration here"""
        pass
    def __init__(self,
        *,
        schema_major_version: builtins.int = ...,
        schema_minor_version: builtins.int = ...,
        session_id: typing.Text = ...,
        session_timestamp: builtins.int = ...,
        data_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["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[typing.Text]: ...
    prediction_field: typing.Text
    target_field: typing.Text
    score_field: typing.Text
    @property
    def scores(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NumbersMessageV0]:
        """a flattened NxN matrix (N = len(labels))"""
        pass
    def __init__(self,
        *,
        labels: typing.Optional[typing.Iterable[typing.Text]] = ...,
        prediction_field: typing.Text = ...,
        target_field: typing.Text = ...,
        score_field: typing.Text = ...,
        scores: typing.Optional[typing.Iterable[global___NumbersMessageV0]] = ...,
        ) -> 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: typing.Text
    target_field: typing.Text
    count: builtins.int
    sum_abs_diff: builtins.float
    sum_diff: builtins.float
    sum2_diff: builtins.float
    def __init__(self,
        *,
        prediction_field: typing.Text = ...,
        target_field: typing.Text = ...,
        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: typing.Optional[global___ScoreMatrixMessage] = ...,
        modelType: global___ModelType.ValueType = ...,
        regressionMetrics: typing.Optional[global___RegressionMetricsMessage] = ...,
        ) -> 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[typing.Text]:
        """Reserving fields for ModelMessage"""
        pass
    @property
    def metrics(self) -> global___ModelMetricsMessage: ...
    def __init__(self,
        *,
        output_fields: typing.Optional[typing.Iterable[typing.Text]] = ...,
        metrics: typing.Optional[global___ModelMetricsMessage] = ...,
        ) -> 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: typing.Text
        @property
        def value(self) -> global___ColumnMessageV0: ...
        def __init__(self,
            *,
            key: typing.Text = ...,
            value: typing.Optional[global___ColumnMessageV0] = ...,
            ) -> 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[typing.Text, global___ColumnMessageV0]: ...
    @property
    def modeProfile(self) -> global___ModelProfileMessage:
        """reserve other fields for dataset level data"""
        pass
    def __init__(self,
        *,
        properties: typing.Optional[global___DatasetPropertiesV0] = ...,
        columns: typing.Optional[typing.Mapping[typing.Text, global___ColumnMessageV0]] = ...,
        modeProfile: typing.Optional[global___ModelProfileMessage] = ...,
        ) -> 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: typing.Text
    """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: typing.Text = ...,
        columns: typing.Optional[typing.Iterable[global___ColumnMessageV0]] = ...,
        ) -> 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: typing.Text
    @property
    def properties(self) -> global___DatasetPropertiesV0: ...
    def __init__(self,
        *,
        marker: typing.Text = ...,
        properties: typing.Optional[global___DatasetPropertiesV0] = ...,
        ) -> 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: typing.Text
    @property
    def metadata(self) -> global___DatasetMetadataSegment: ...
    @property
    def columns(self) -> global___ColumnsChunkSegment: ...
    def __init__(self,
        *,
        marker: typing.Text = ...,
        metadata: typing.Optional[global___DatasetMetadataSegment] = ...,
        columns: typing.Optional[global___ColumnsChunkSegment] = ...,
        ) -> 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.Optional[typing_extensions.Literal["metadata","columns"]]: ...
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
