"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import abc
import google.ads.google_ads.v4.proto.resources.batch_job_pb2
import google.longrunning.operations_pb2
import grpc

from .batch_job_service_pb2 import *

class BatchJobServiceStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    def MutateBatchJob(
        self,
        request: global___MutateBatchJobRequest,
    ) -> global___MutateBatchJobResponse: ...
    def GetBatchJob(
        self,
        request: global___GetBatchJobRequest,
    ) -> google.ads.google_ads.v4.proto.resources.batch_job_pb2.BatchJob: ...
    def ListBatchJobResults(
        self,
        request: global___ListBatchJobResultsRequest,
    ) -> global___ListBatchJobResultsResponse: ...
    def RunBatchJob(
        self,
        request: global___RunBatchJobRequest,
    ) -> google.longrunning.operations_pb2.Operation: ...
    def AddBatchJobOperations(
        self,
        request: global___AddBatchJobOperationsRequest,
    ) -> global___AddBatchJobOperationsResponse: ...

class BatchJobServiceServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def MutateBatchJob(
        self,
        request: global___MutateBatchJobRequest,
        context: grpc.ServicerContext,
    ) -> global___MutateBatchJobResponse: ...
    @abc.abstractmethod
    def GetBatchJob(
        self,
        request: global___GetBatchJobRequest,
        context: grpc.ServicerContext,
    ) -> google.ads.google_ads.v4.proto.resources.batch_job_pb2.BatchJob: ...
    @abc.abstractmethod
    def ListBatchJobResults(
        self,
        request: global___ListBatchJobResultsRequest,
        context: grpc.ServicerContext,
    ) -> global___ListBatchJobResultsResponse: ...
    @abc.abstractmethod
    def RunBatchJob(
        self,
        request: global___RunBatchJobRequest,
        context: grpc.ServicerContext,
    ) -> google.longrunning.operations_pb2.Operation: ...
    @abc.abstractmethod
    def AddBatchJobOperations(
        self,
        request: global___AddBatchJobOperationsRequest,
        context: grpc.ServicerContext,
    ) -> global___AddBatchJobOperationsResponse: ...

def add_BatchJobServiceServicer_to_server(
    servicer: BatchJobServiceServicer, server: grpc.Server
) -> None: ...
