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

class LibcToManageStub:
    """*
    LibcToManage service
    """

    def __init__(self, channel: grpc.Channel) -> None: ...
    SendShares: grpc.UnaryUnaryMultiCallable[
        libc_to_manage_pb2.SendSharesRequest,
        libc_to_manage_pb2.SendSharesResponse,
    ]
    DeleteShares: grpc.UnaryUnaryMultiCallable[
        libc_to_manage_pb2.DeleteSharesRequest,
        libc_to_manage_pb2.DeleteSharesResponse,
    ]
    GetSchema: grpc.UnaryUnaryMultiCallable[
        libc_to_manage_pb2.GetSchemaRequest,
        libc_to_manage_pb2.GetSchemaResponse,
    ]
    ExecuteComputation: grpc.UnaryUnaryMultiCallable[
        libc_to_manage_pb2.ExecuteComputationRequest,
        libc_to_manage_pb2.ExecuteComputationResponse,
    ]
    GetComputationResult: grpc.UnaryStreamMultiCallable[
        libc_to_manage_pb2.GetComputationResultRequest,
        libc_to_manage_pb2.GetComputationResultResponse,
    ]
    GetDataList: grpc.UnaryUnaryMultiCallable[
        libc_to_manage_pb2.GetDataListRequest,
        libc_to_manage_pb2.GetDataListResponse,
    ]
    GetElapsedTime: grpc.UnaryUnaryMultiCallable[
        libc_to_manage_pb2.GetElapsedTimeRequest,
        libc_to_manage_pb2.GetElapsedTimeResponse,
    ]
    GetJobErrorInfo: grpc.UnaryUnaryMultiCallable[
        libc_to_manage_pb2.GetJobErrorInfoRequest,
        libc_to_manage_pb2.GetJobErrorInfoResponse,
    ]

class LibcToManageServicer(metaclass=abc.ABCMeta):
    """*
    LibcToManage service
    """

    @abc.abstractmethod
    def SendShares(
        self,
        request: libc_to_manage_pb2.SendSharesRequest,
        context: grpc.ServicerContext,
    ) -> libc_to_manage_pb2.SendSharesResponse: ...
    @abc.abstractmethod
    def DeleteShares(
        self,
        request: libc_to_manage_pb2.DeleteSharesRequest,
        context: grpc.ServicerContext,
    ) -> libc_to_manage_pb2.DeleteSharesResponse: ...
    @abc.abstractmethod
    def GetSchema(
        self,
        request: libc_to_manage_pb2.GetSchemaRequest,
        context: grpc.ServicerContext,
    ) -> libc_to_manage_pb2.GetSchemaResponse: ...
    @abc.abstractmethod
    def ExecuteComputation(
        self,
        request: libc_to_manage_pb2.ExecuteComputationRequest,
        context: grpc.ServicerContext,
    ) -> libc_to_manage_pb2.ExecuteComputationResponse: ...
    @abc.abstractmethod
    def GetComputationResult(
        self,
        request: libc_to_manage_pb2.GetComputationResultRequest,
        context: grpc.ServicerContext,
    ) -> collections.abc.Iterator[libc_to_manage_pb2.GetComputationResultResponse]: ...
    @abc.abstractmethod
    def GetDataList(
        self,
        request: libc_to_manage_pb2.GetDataListRequest,
        context: grpc.ServicerContext,
    ) -> libc_to_manage_pb2.GetDataListResponse: ...
    @abc.abstractmethod
    def GetElapsedTime(
        self,
        request: libc_to_manage_pb2.GetElapsedTimeRequest,
        context: grpc.ServicerContext,
    ) -> libc_to_manage_pb2.GetElapsedTimeResponse: ...
    @abc.abstractmethod
    def GetJobErrorInfo(
        self,
        request: libc_to_manage_pb2.GetJobErrorInfoRequest,
        context: grpc.ServicerContext,
    ) -> libc_to_manage_pb2.GetJobErrorInfoResponse: ...

def add_LibcToManageServicer_to_server(servicer: LibcToManageServicer, server: grpc.Server) -> None: ...
