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

from .keyword_plan_service_pb2 import *

class KeywordPlanServiceStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    def GetKeywordPlan(
        self,
        request: global___GetKeywordPlanRequest,
    ) -> google.ads.google_ads.v6.proto.resources.keyword_plan_pb2.KeywordPlan: ...
    def MutateKeywordPlans(
        self,
        request: global___MutateKeywordPlansRequest,
    ) -> global___MutateKeywordPlansResponse: ...
    def GenerateForecastCurve(
        self,
        request: global___GenerateForecastCurveRequest,
    ) -> global___GenerateForecastCurveResponse: ...
    def GenerateForecastTimeSeries(
        self,
        request: global___GenerateForecastTimeSeriesRequest,
    ) -> global___GenerateForecastTimeSeriesResponse: ...
    def GenerateForecastMetrics(
        self,
        request: global___GenerateForecastMetricsRequest,
    ) -> global___GenerateForecastMetricsResponse: ...
    def GenerateHistoricalMetrics(
        self,
        request: global___GenerateHistoricalMetricsRequest,
    ) -> global___GenerateHistoricalMetricsResponse: ...

class KeywordPlanServiceServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def GetKeywordPlan(
        self,
        request: global___GetKeywordPlanRequest,
        context: grpc.ServicerContext,
    ) -> google.ads.google_ads.v6.proto.resources.keyword_plan_pb2.KeywordPlan: ...
    @abc.abstractmethod
    def MutateKeywordPlans(
        self,
        request: global___MutateKeywordPlansRequest,
        context: grpc.ServicerContext,
    ) -> global___MutateKeywordPlansResponse: ...
    @abc.abstractmethod
    def GenerateForecastCurve(
        self,
        request: global___GenerateForecastCurveRequest,
        context: grpc.ServicerContext,
    ) -> global___GenerateForecastCurveResponse: ...
    @abc.abstractmethod
    def GenerateForecastTimeSeries(
        self,
        request: global___GenerateForecastTimeSeriesRequest,
        context: grpc.ServicerContext,
    ) -> global___GenerateForecastTimeSeriesResponse: ...
    @abc.abstractmethod
    def GenerateForecastMetrics(
        self,
        request: global___GenerateForecastMetricsRequest,
        context: grpc.ServicerContext,
    ) -> global___GenerateForecastMetricsResponse: ...
    @abc.abstractmethod
    def GenerateHistoricalMetrics(
        self,
        request: global___GenerateHistoricalMetricsRequest,
        context: grpc.ServicerContext,
    ) -> global___GenerateHistoricalMetricsResponse: ...

def add_KeywordPlanServiceServicer_to_server(
    servicer: KeywordPlanServiceServicer, server: grpc.Server
) -> None: ...
