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

from .campaign_experiment_service_pb2 import *

class CampaignExperimentServiceStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    def GetCampaignExperiment(
        self,
        request: global___GetCampaignExperimentRequest,
    ) -> google.ads.google_ads.v5.proto.resources.campaign_experiment_pb2.CampaignExperiment: ...
    def CreateCampaignExperiment(
        self,
        request: global___CreateCampaignExperimentRequest,
    ) -> google.longrunning.operations_pb2.Operation: ...
    def MutateCampaignExperiments(
        self,
        request: global___MutateCampaignExperimentsRequest,
    ) -> global___MutateCampaignExperimentsResponse: ...
    def GraduateCampaignExperiment(
        self,
        request: global___GraduateCampaignExperimentRequest,
    ) -> global___GraduateCampaignExperimentResponse: ...
    def PromoteCampaignExperiment(
        self,
        request: global___PromoteCampaignExperimentRequest,
    ) -> google.longrunning.operations_pb2.Operation: ...
    def EndCampaignExperiment(
        self,
        request: global___EndCampaignExperimentRequest,
    ) -> google.protobuf.empty_pb2.Empty: ...
    def ListCampaignExperimentAsyncErrors(
        self,
        request: global___ListCampaignExperimentAsyncErrorsRequest,
    ) -> global___ListCampaignExperimentAsyncErrorsResponse: ...

class CampaignExperimentServiceServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def GetCampaignExperiment(
        self,
        request: global___GetCampaignExperimentRequest,
        context: grpc.ServicerContext,
    ) -> google.ads.google_ads.v5.proto.resources.campaign_experiment_pb2.CampaignExperiment: ...
    @abc.abstractmethod
    def CreateCampaignExperiment(
        self,
        request: global___CreateCampaignExperimentRequest,
        context: grpc.ServicerContext,
    ) -> google.longrunning.operations_pb2.Operation: ...
    @abc.abstractmethod
    def MutateCampaignExperiments(
        self,
        request: global___MutateCampaignExperimentsRequest,
        context: grpc.ServicerContext,
    ) -> global___MutateCampaignExperimentsResponse: ...
    @abc.abstractmethod
    def GraduateCampaignExperiment(
        self,
        request: global___GraduateCampaignExperimentRequest,
        context: grpc.ServicerContext,
    ) -> global___GraduateCampaignExperimentResponse: ...
    @abc.abstractmethod
    def PromoteCampaignExperiment(
        self,
        request: global___PromoteCampaignExperimentRequest,
        context: grpc.ServicerContext,
    ) -> google.longrunning.operations_pb2.Operation: ...
    @abc.abstractmethod
    def EndCampaignExperiment(
        self,
        request: global___EndCampaignExperimentRequest,
        context: grpc.ServicerContext,
    ) -> google.protobuf.empty_pb2.Empty: ...
    @abc.abstractmethod
    def ListCampaignExperimentAsyncErrors(
        self,
        request: global___ListCampaignExperimentAsyncErrorsRequest,
        context: grpc.ServicerContext,
    ) -> global___ListCampaignExperimentAsyncErrorsResponse: ...

def add_CampaignExperimentServiceServicer_to_server(
    servicer: CampaignExperimentServiceServicer, server: grpc.Server
) -> None: ...
