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

from .remote_pb2 import *
class RemoteExecutorStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    CreateTask:grpc.UnaryUnaryMultiCallable[
        global___CreateTaskRequest,
        global___CreateTaskResponse] = ...

    PostResult:grpc.UnaryUnaryMultiCallable[
        global___PostResultRequest,
        global___PostResultResponse] = ...

    WaitForResult:grpc.UnaryUnaryMultiCallable[
        global___WaitForResultRequest,
        global___WaitForResultResponse] = ...

    # Sets the cron jobs associated to an app. If the list of cron jobs is
    # empty, removes all the cron jobs.
    SetCronJobs:grpc.UnaryUnaryMultiCallable[
        global___SetCronJobsRequest,
        global___SetCronJobsResponse] = ...

    # Golang prototype
    RemoteCall:grpc.UnaryUnaryMultiCallable[
        global___RemoteCallRequest,
        global___RemoteCallResponse] = ...


class RemoteExecutorServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def CreateTask(self,
        request: global___CreateTaskRequest,
        context: grpc.ServicerContext,
    ) -> global___CreateTaskResponse: ...

    @abc.abstractmethod
    def PostResult(self,
        request: global___PostResultRequest,
        context: grpc.ServicerContext,
    ) -> global___PostResultResponse: ...

    @abc.abstractmethod
    def WaitForResult(self,
        request: global___WaitForResultRequest,
        context: grpc.ServicerContext,
    ) -> global___WaitForResultResponse: ...

    # Sets the cron jobs associated to an app. If the list of cron jobs is
    # empty, removes all the cron jobs.
    @abc.abstractmethod
    def SetCronJobs(self,
        request: global___SetCronJobsRequest,
        context: grpc.ServicerContext,
    ) -> global___SetCronJobsResponse: ...

    # Golang prototype
    @abc.abstractmethod
    def RemoteCall(self,
        request: global___RemoteCallRequest,
        context: grpc.ServicerContext,
    ) -> global___RemoteCallResponse: ...


def add_RemoteExecutorServicer_to_server(servicer: RemoteExecutorServicer, server: grpc.Server) -> None: ...
