"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import abc
import collections.abc
import google.protobuf.empty_pb2
import grpc
import ml_worker_pb2

class MLWorkerStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    getInfo: grpc.UnaryUnaryMultiCallable[
        ml_worker_pb2.MLWorkerInfoRequest,
        ml_worker_pb2.MLWorkerInfo,
    ]
    runTest: grpc.UnaryUnaryMultiCallable[
        ml_worker_pb2.RunTestRequest,
        ml_worker_pb2.TestResultMessage,
    ]
    runAdHocTest: grpc.UnaryUnaryMultiCallable[
        ml_worker_pb2.RunAdHocTestRequest,
        ml_worker_pb2.TestResultMessage,
    ]
    runModel: grpc.UnaryUnaryMultiCallable[
        ml_worker_pb2.RunModelRequest,
        ml_worker_pb2.RunModelResponse,
    ]
    runModelForDataFrame: grpc.UnaryUnaryMultiCallable[
        ml_worker_pb2.RunModelForDataFrameRequest,
        ml_worker_pb2.RunModelForDataFrameResponse,
    ]
    explain: grpc.UnaryUnaryMultiCallable[
        ml_worker_pb2.ExplainRequest,
        ml_worker_pb2.ExplainResponse,
    ]
    explainText: grpc.UnaryUnaryMultiCallable[
        ml_worker_pb2.ExplainTextRequest,
        ml_worker_pb2.ExplainTextResponse,
    ]
    echo: grpc.UnaryUnaryMultiCallable[
        ml_worker_pb2.EchoMsg,
        ml_worker_pb2.EchoMsg,
    ]
    upload: grpc.StreamStreamMultiCallable[
        ml_worker_pb2.FileUploadRequest,
        ml_worker_pb2.UploadStatus,
    ]
    getTestRegistry: grpc.UnaryUnaryMultiCallable[
        google.protobuf.empty_pb2.Empty,
        ml_worker_pb2.TestRegistryResponse,
    ]
    filterDataset: grpc.StreamStreamMultiCallable[
        ml_worker_pb2.FilterDatasetRequest,
        ml_worker_pb2.FilterDatasetResponse,
    ]

class MLWorkerServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def getInfo(
        self,
        request: ml_worker_pb2.MLWorkerInfoRequest,
        context: grpc.ServicerContext,
    ) -> ml_worker_pb2.MLWorkerInfo: ...
    @abc.abstractmethod
    def runTest(
        self,
        request: ml_worker_pb2.RunTestRequest,
        context: grpc.ServicerContext,
    ) -> ml_worker_pb2.TestResultMessage: ...
    @abc.abstractmethod
    def runAdHocTest(
        self,
        request: ml_worker_pb2.RunAdHocTestRequest,
        context: grpc.ServicerContext,
    ) -> ml_worker_pb2.TestResultMessage: ...
    @abc.abstractmethod
    def runModel(
        self,
        request: ml_worker_pb2.RunModelRequest,
        context: grpc.ServicerContext,
    ) -> ml_worker_pb2.RunModelResponse: ...
    @abc.abstractmethod
    def runModelForDataFrame(
        self,
        request: ml_worker_pb2.RunModelForDataFrameRequest,
        context: grpc.ServicerContext,
    ) -> ml_worker_pb2.RunModelForDataFrameResponse: ...
    @abc.abstractmethod
    def explain(
        self,
        request: ml_worker_pb2.ExplainRequest,
        context: grpc.ServicerContext,
    ) -> ml_worker_pb2.ExplainResponse: ...
    @abc.abstractmethod
    def explainText(
        self,
        request: ml_worker_pb2.ExplainTextRequest,
        context: grpc.ServicerContext,
    ) -> ml_worker_pb2.ExplainTextResponse: ...
    @abc.abstractmethod
    def echo(
        self,
        request: ml_worker_pb2.EchoMsg,
        context: grpc.ServicerContext,
    ) -> ml_worker_pb2.EchoMsg: ...
    @abc.abstractmethod
    def upload(
        self,
        request_iterator: collections.abc.Iterator[ml_worker_pb2.FileUploadRequest],
        context: grpc.ServicerContext,
    ) -> collections.abc.Iterator[ml_worker_pb2.UploadStatus]: ...
    @abc.abstractmethod
    def getTestRegistry(
        self,
        request: google.protobuf.empty_pb2.Empty,
        context: grpc.ServicerContext,
    ) -> ml_worker_pb2.TestRegistryResponse: ...
    @abc.abstractmethod
    def filterDataset(
        self,
        request_iterator: collections.abc.Iterator[ml_worker_pb2.FilterDatasetRequest],
        context: grpc.ServicerContext,
    ) -> collections.abc.Iterator[ml_worker_pb2.FilterDatasetResponse]: ...

def add_MLWorkerServicer_to_server(servicer: MLWorkerServicer, server: grpc.Server) -> None: ...
