"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
"""

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 sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

class _RequestTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RequestType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    INITIALIZE: _RequestType.ValueType  # 0
    TRAINING: _RequestType.ValueType  # 1
    """Client is requesting training data"""
    TEST: _RequestType.ValueType  # 2
    """Client is requesting test data"""

class RequestType(_RequestType, metaclass=_RequestTypeEnumTypeWrapper): ...

INITIALIZE: RequestType.ValueType  # 0
TRAINING: RequestType.ValueType  # 1
"""Client is requesting training data"""
TEST: RequestType.ValueType  # 2
"""Client is requesting test data"""
global___RequestType = RequestType

@typing.final
class Model(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    name: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["name", b"name"]) -> None: ...

global___Model = Model

@typing.final
class TrainingDataRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    MODEL_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> global___TrainingDataID: ...
    @property
    def model(self) -> global___Model: ...
    def __init__(
        self,
        *,
        id: global___TrainingDataID | None = ...,
        model: global___Model | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["id", b"id", "model", b"model"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["id", b"id", "model", b"model"]) -> None: ...

global___TrainingDataRequest = TrainingDataRequest

@typing.final
class TrainingDataID(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    name: builtins.str
    version: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        version: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["name", b"name", "version", b"version"]) -> None: ...

global___TrainingDataID = TrainingDataID

@typing.final
class TrainingDataRow(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURES_FIELD_NUMBER: builtins.int
    LABEL_FIELD_NUMBER: builtins.int
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Value]: ...
    @property
    def label(self) -> global___Value: ...
    def __init__(
        self,
        *,
        features: collections.abc.Iterable[global___Value] | None = ...,
        label: global___Value | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["label", b"label"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["features", b"features", "label", b"label"]) -> None: ...

global___TrainingDataRow = TrainingDataRow

@typing.final
class FeatureServeRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURES_FIELD_NUMBER: builtins.int
    ENTITIES_FIELD_NUMBER: builtins.int
    MODEL_FIELD_NUMBER: builtins.int
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FeatureID]: ...
    @property
    def entities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Entity]: ...
    @property
    def model(self) -> global___Model: ...
    def __init__(
        self,
        *,
        features: collections.abc.Iterable[global___FeatureID] | None = ...,
        entities: collections.abc.Iterable[global___Entity] | None = ...,
        model: global___Model | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["model", b"model"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["entities", b"entities", "features", b"features", "model", b"model"]) -> None: ...

global___FeatureServeRequest = FeatureServeRequest

@typing.final
class FeatureRow(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALUES_FIELD_NUMBER: builtins.int
    VALUE_LISTS_FIELD_NUMBER: builtins.int
    @property
    def values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Value]:
        """Deprecated: Use `value_lists` instead."""

    @property
    def value_lists(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ValueList]: ...
    def __init__(
        self,
        *,
        values: collections.abc.Iterable[global___Value] | None = ...,
        value_lists: collections.abc.Iterable[global___ValueList] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["value_lists", b"value_lists", "values", b"values"]) -> None: ...

global___FeatureRow = FeatureRow

@typing.final
class ValueList(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALUES_FIELD_NUMBER: builtins.int
    @property
    def values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Value]: ...
    def __init__(
        self,
        *,
        values: collections.abc.Iterable[global___Value] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["values", b"values"]) -> None: ...

global___ValueList = ValueList

@typing.final
class BatchFeatureServeRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURES_FIELD_NUMBER: builtins.int
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FeatureID]: ...
    def __init__(
        self,
        *,
        features: collections.abc.Iterable[global___FeatureID] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["features", b"features"]) -> None: ...

global___BatchFeatureServeRequest = BatchFeatureServeRequest

@typing.final
class BatchFeatureRow(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENTITY_FIELD_NUMBER: builtins.int
    FEATURES_FIELD_NUMBER: builtins.int
    @property
    def entity(self) -> global___Value: ...
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Value]: ...
    def __init__(
        self,
        *,
        entity: global___Value | None = ...,
        features: collections.abc.Iterable[global___Value] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["entity", b"entity"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["entity", b"entity", "features", b"features"]) -> None: ...

global___BatchFeatureRow = BatchFeatureRow

@typing.final
class FeatureID(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    name: builtins.str
    version: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        version: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["name", b"name", "version", b"version"]) -> None: ...

global___FeatureID = FeatureID

@typing.final
class Entity(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    VALUES_FIELD_NUMBER: builtins.int
    name: builtins.str
    value: builtins.str
    """Deprecated: Use `values` instead."""
    @property
    def values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        value: builtins.str = ...,
        values: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["name", b"name", "value", b"value", "values", b"values"]) -> None: ...

global___Entity = Entity

@typing.final
class Value(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STR_VALUE_FIELD_NUMBER: builtins.int
    INT_VALUE_FIELD_NUMBER: builtins.int
    FLOAT_VALUE_FIELD_NUMBER: builtins.int
    DOUBLE_VALUE_FIELD_NUMBER: builtins.int
    INT64_VALUE_FIELD_NUMBER: builtins.int
    INT32_VALUE_FIELD_NUMBER: builtins.int
    BOOL_VALUE_FIELD_NUMBER: builtins.int
    ON_DEMAND_FUNCTION_FIELD_NUMBER: builtins.int
    VECTOR32_VALUE_FIELD_NUMBER: builtins.int
    UINT32_VALUE_FIELD_NUMBER: builtins.int
    UINT64_VALUE_FIELD_NUMBER: builtins.int
    str_value: builtins.str
    int_value: builtins.int
    float_value: builtins.float
    double_value: builtins.float
    int64_value: builtins.int
    int32_value: builtins.int
    bool_value: builtins.bool
    on_demand_function: builtins.bytes
    uint32_value: builtins.int
    uint64_value: builtins.int
    @property
    def vector32_value(self) -> global___Vector32: ...
    def __init__(
        self,
        *,
        str_value: builtins.str = ...,
        int_value: builtins.int = ...,
        float_value: builtins.float = ...,
        double_value: builtins.float = ...,
        int64_value: builtins.int = ...,
        int32_value: builtins.int = ...,
        bool_value: builtins.bool = ...,
        on_demand_function: builtins.bytes = ...,
        vector32_value: global___Vector32 | None = ...,
        uint32_value: builtins.int = ...,
        uint64_value: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["bool_value", b"bool_value", "double_value", b"double_value", "float_value", b"float_value", "int32_value", b"int32_value", "int64_value", b"int64_value", "int_value", b"int_value", "on_demand_function", b"on_demand_function", "str_value", b"str_value", "uint32_value", b"uint32_value", "uint64_value", b"uint64_value", "value", b"value", "vector32_value", b"vector32_value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["bool_value", b"bool_value", "double_value", b"double_value", "float_value", b"float_value", "int32_value", b"int32_value", "int64_value", b"int64_value", "int_value", b"int_value", "on_demand_function", b"on_demand_function", "str_value", b"str_value", "uint32_value", b"uint32_value", "uint64_value", b"uint64_value", "value", b"value", "vector32_value", b"vector32_value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["str_value", "int_value", "float_value", "double_value", "int64_value", "int32_value", "bool_value", "on_demand_function", "vector32_value", "uint32_value", "uint64_value"] | None: ...

global___Value = Value

@typing.final
class SourceID(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    name: builtins.str
    version: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        version: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["name", b"name", "version", b"version"]) -> None: ...

global___SourceID = SourceID

@typing.final
class SourceDataRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    limit: builtins.int
    @property
    def id(self) -> global___SourceID: ...
    def __init__(
        self,
        *,
        id: global___SourceID | None = ...,
        limit: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["id", b"id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["id", b"id", "limit", b"limit"]) -> None: ...

global___SourceDataRequest = SourceDataRequest

@typing.final
class SourceColumnRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> global___SourceID: ...
    def __init__(
        self,
        *,
        id: global___SourceID | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["id", b"id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["id", b"id"]) -> None: ...

global___SourceColumnRequest = SourceColumnRequest

@typing.final
class SourceDataRow(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ROWS_FIELD_NUMBER: builtins.int
    @property
    def rows(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Value]: ...
    def __init__(
        self,
        *,
        rows: collections.abc.Iterable[global___Value] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["rows", b"rows"]) -> None: ...

global___SourceDataRow = SourceDataRow

@typing.final
class SourceDataColumns(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COLUMNS_FIELD_NUMBER: builtins.int
    @property
    def columns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        columns: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["columns", b"columns"]) -> None: ...

global___SourceDataColumns = SourceDataColumns

@typing.final
class TrainingDataColumnsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    @property
    def id(self) -> global___TrainingDataID: ...
    def __init__(
        self,
        *,
        id: global___TrainingDataID | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["id", b"id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["id", b"id"]) -> None: ...

global___TrainingDataColumnsRequest = TrainingDataColumnsRequest

@typing.final
class TrainingColumns(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FEATURES_FIELD_NUMBER: builtins.int
    LABEL_FIELD_NUMBER: builtins.int
    label: builtins.str
    @property
    def features(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        features: collections.abc.Iterable[builtins.str] | None = ...,
        label: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["features", b"features", "label", b"label"]) -> None: ...

global___TrainingColumns = TrainingColumns

@typing.final
class Vector32(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALUE_FIELD_NUMBER: builtins.int
    @property
    def value(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    def __init__(
        self,
        *,
        value: collections.abc.Iterable[builtins.float] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["value", b"value"]) -> None: ...

global___Vector32 = Vector32

@typing.final
class NearestRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    VECTOR_FIELD_NUMBER: builtins.int
    K_FIELD_NUMBER: builtins.int
    k: builtins.int
    @property
    def id(self) -> global___FeatureID: ...
    @property
    def vector(self) -> global___Vector32: ...
    def __init__(
        self,
        *,
        id: global___FeatureID | None = ...,
        vector: global___Vector32 | None = ...,
        k: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["id", b"id", "vector", b"vector"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["id", b"id", "k", b"k", "vector", b"vector"]) -> None: ...

global___NearestRequest = NearestRequest

@typing.final
class NearestResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENTITIES_FIELD_NUMBER: builtins.int
    @property
    def entities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        entities: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["entities", b"entities"]) -> None: ...

global___NearestResponse = NearestResponse

@typing.final
class ResourceIdRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    VARIANT_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    name: builtins.str
    variant: builtins.str
    type: builtins.int
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        variant: builtins.str = ...,
        type: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["name", b"name", "type", b"type", "variant", b"variant"]) -> None: ...

global___ResourceIdRequest = ResourceIdRequest

@typing.final
class ResourceLocation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LOCATION_FIELD_NUMBER: builtins.int
    location: builtins.str
    def __init__(
        self,
        *,
        location: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["location", b"location"]) -> None: ...

global___ResourceLocation = ResourceLocation

@typing.final
class TrainTestSplitRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    MODEL_FIELD_NUMBER: builtins.int
    TEST_SIZE_FIELD_NUMBER: builtins.int
    TRAIN_SIZE_FIELD_NUMBER: builtins.int
    SHUFFLE_FIELD_NUMBER: builtins.int
    RANDOM_STATE_FIELD_NUMBER: builtins.int
    REQUEST_TYPE_FIELD_NUMBER: builtins.int
    BATCH_SIZE_FIELD_NUMBER: builtins.int
    test_size: builtins.float
    train_size: builtins.float
    shuffle: builtins.bool
    random_state: builtins.int
    request_type: global___RequestType.ValueType
    batch_size: builtins.int
    @property
    def id(self) -> global___TrainingDataID: ...
    @property
    def model(self) -> global___Model: ...
    def __init__(
        self,
        *,
        id: global___TrainingDataID | None = ...,
        model: global___Model | None = ...,
        test_size: builtins.float = ...,
        train_size: builtins.float = ...,
        shuffle: builtins.bool = ...,
        random_state: builtins.int = ...,
        request_type: global___RequestType.ValueType = ...,
        batch_size: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["id", b"id", "model", b"model"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["batch_size", b"batch_size", "id", b"id", "model", b"model", "random_state", b"random_state", "request_type", b"request_type", "shuffle", b"shuffle", "test_size", b"test_size", "train_size", b"train_size"]) -> None: ...

global___TrainTestSplitRequest = TrainTestSplitRequest

@typing.final
class BatchTrainTestSplitResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REQUEST_TYPE_FIELD_NUMBER: builtins.int
    ITERATOR_DONE_FIELD_NUMBER: builtins.int
    INITIALIZED_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    request_type: global___RequestType.ValueType
    iterator_done: builtins.bool
    initialized: builtins.bool
    @property
    def data(self) -> global___TrainingDataRows: ...
    def __init__(
        self,
        *,
        request_type: global___RequestType.ValueType = ...,
        iterator_done: builtins.bool = ...,
        initialized: builtins.bool = ...,
        data: global___TrainingDataRows | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["data", b"data", "initialized", b"initialized", "result", b"result"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["data", b"data", "initialized", b"initialized", "iterator_done", b"iterator_done", "request_type", b"request_type", "result", b"result"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["initialized", "data"] | None: ...

global___BatchTrainTestSplitResponse = BatchTrainTestSplitResponse

@typing.final
class TrainingDataRows(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ROWS_FIELD_NUMBER: builtins.int
    @property
    def rows(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrainingDataRow]: ...
    def __init__(
        self,
        *,
        rows: collections.abc.Iterable[global___TrainingDataRow] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["rows", b"rows"]) -> None: ...

global___TrainingDataRows = TrainingDataRows
