"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v6.proto.common.keyword_plan_common_pb2
import google.ads.google_ads.v6.proto.resources.keyword_plan_pb2
import google.protobuf.descriptor
import google.protobuf.field_mask_pb2
import google.protobuf.internal.containers
import google.protobuf.message
import google.rpc.status_pb2
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class GetKeywordPlanRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["resource_name", b"resource_name"]
    ) -> None: ...

global___GetKeywordPlanRequest = GetKeywordPlanRequest

class MutateKeywordPlansRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CUSTOMER_ID_FIELD_NUMBER: builtins.int
    OPERATIONS_FIELD_NUMBER: builtins.int
    PARTIAL_FAILURE_FIELD_NUMBER: builtins.int
    VALIDATE_ONLY_FIELD_NUMBER: builtins.int
    customer_id: typing.Text = ...
    partial_failure: builtins.bool = ...
    validate_only: builtins.bool = ...
    @property
    def operations(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___KeywordPlanOperation
    ]: ...
    def __init__(
        self,
        *,
        customer_id: typing.Text = ...,
        operations: typing.Optional[
            typing.Iterable[global___KeywordPlanOperation]
        ] = ...,
        partial_failure: builtins.bool = ...,
        validate_only: builtins.bool = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "customer_id",
            b"customer_id",
            "operations",
            b"operations",
            "partial_failure",
            b"partial_failure",
            "validate_only",
            b"validate_only",
        ],
    ) -> None: ...

global___MutateKeywordPlansRequest = MutateKeywordPlansRequest

class KeywordPlanOperation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    UPDATE_MASK_FIELD_NUMBER: builtins.int
    CREATE_FIELD_NUMBER: builtins.int
    UPDATE_FIELD_NUMBER: builtins.int
    REMOVE_FIELD_NUMBER: builtins.int
    remove: typing.Text = ...
    @property
    def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask: ...
    @property
    def create(
        self,
    ) -> google.ads.google_ads.v6.proto.resources.keyword_plan_pb2.KeywordPlan: ...
    @property
    def update(
        self,
    ) -> google.ads.google_ads.v6.proto.resources.keyword_plan_pb2.KeywordPlan: ...
    def __init__(
        self,
        *,
        update_mask: typing.Optional[google.protobuf.field_mask_pb2.FieldMask] = ...,
        create: typing.Optional[
            google.ads.google_ads.v6.proto.resources.keyword_plan_pb2.KeywordPlan
        ] = ...,
        update: typing.Optional[
            google.ads.google_ads.v6.proto.resources.keyword_plan_pb2.KeywordPlan
        ] = ...,
        remove: typing.Text = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "create",
            b"create",
            "operation",
            b"operation",
            "remove",
            b"remove",
            "update",
            b"update",
            "update_mask",
            b"update_mask",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "create",
            b"create",
            "operation",
            b"operation",
            "remove",
            b"remove",
            "update",
            b"update",
            "update_mask",
            b"update_mask",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["operation", b"operation"]
    ) -> typing_extensions.Literal["create", "update", "remove"]: ...

global___KeywordPlanOperation = KeywordPlanOperation

class MutateKeywordPlansResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PARTIAL_FAILURE_ERROR_FIELD_NUMBER: builtins.int
    RESULTS_FIELD_NUMBER: builtins.int
    @property
    def partial_failure_error(self) -> google.rpc.status_pb2.Status: ...
    @property
    def results(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___MutateKeywordPlansResult
    ]: ...
    def __init__(
        self,
        *,
        partial_failure_error: typing.Optional[google.rpc.status_pb2.Status] = ...,
        results: typing.Optional[
            typing.Iterable[global___MutateKeywordPlansResult]
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "partial_failure_error", b"partial_failure_error"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "partial_failure_error", b"partial_failure_error", "results", b"results"
        ],
    ) -> None: ...

global___MutateKeywordPlansResponse = MutateKeywordPlansResponse

class MutateKeywordPlansResult(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["resource_name", b"resource_name"]
    ) -> None: ...

global___MutateKeywordPlansResult = MutateKeywordPlansResult

class GenerateForecastCurveRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KEYWORD_PLAN_FIELD_NUMBER: builtins.int
    keyword_plan: typing.Text = ...
    def __init__(
        self,
        *,
        keyword_plan: typing.Text = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["keyword_plan", b"keyword_plan"]
    ) -> None: ...

global___GenerateForecastCurveRequest = GenerateForecastCurveRequest

class GenerateForecastCurveResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CAMPAIGN_FORECAST_CURVES_FIELD_NUMBER: builtins.int
    @property
    def campaign_forecast_curves(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___KeywordPlanCampaignForecastCurve
    ]: ...
    def __init__(
        self,
        *,
        campaign_forecast_curves: typing.Optional[
            typing.Iterable[global___KeywordPlanCampaignForecastCurve]
        ] = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "campaign_forecast_curves", b"campaign_forecast_curves"
        ],
    ) -> None: ...

global___GenerateForecastCurveResponse = GenerateForecastCurveResponse

class GenerateForecastTimeSeriesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KEYWORD_PLAN_FIELD_NUMBER: builtins.int
    keyword_plan: typing.Text = ...
    def __init__(
        self,
        *,
        keyword_plan: typing.Text = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["keyword_plan", b"keyword_plan"]
    ) -> None: ...

global___GenerateForecastTimeSeriesRequest = GenerateForecastTimeSeriesRequest

class GenerateForecastTimeSeriesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    WEEKLY_TIME_SERIES_FORECASTS_FIELD_NUMBER: builtins.int
    @property
    def weekly_time_series_forecasts(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___KeywordPlanWeeklyTimeSeriesForecast
    ]: ...
    def __init__(
        self,
        *,
        weekly_time_series_forecasts: typing.Optional[
            typing.Iterable[global___KeywordPlanWeeklyTimeSeriesForecast]
        ] = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "weekly_time_series_forecasts", b"weekly_time_series_forecasts"
        ],
    ) -> None: ...

global___GenerateForecastTimeSeriesResponse = GenerateForecastTimeSeriesResponse

class GenerateForecastMetricsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KEYWORD_PLAN_FIELD_NUMBER: builtins.int
    keyword_plan: typing.Text = ...
    def __init__(
        self,
        *,
        keyword_plan: typing.Text = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["keyword_plan", b"keyword_plan"]
    ) -> None: ...

global___GenerateForecastMetricsRequest = GenerateForecastMetricsRequest

class GenerateForecastMetricsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CAMPAIGN_FORECASTS_FIELD_NUMBER: builtins.int
    AD_GROUP_FORECASTS_FIELD_NUMBER: builtins.int
    KEYWORD_FORECASTS_FIELD_NUMBER: builtins.int
    @property
    def campaign_forecasts(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___KeywordPlanCampaignForecast
    ]: ...
    @property
    def ad_group_forecasts(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___KeywordPlanAdGroupForecast
    ]: ...
    @property
    def keyword_forecasts(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___KeywordPlanKeywordForecast
    ]: ...
    def __init__(
        self,
        *,
        campaign_forecasts: typing.Optional[
            typing.Iterable[global___KeywordPlanCampaignForecast]
        ] = ...,
        ad_group_forecasts: typing.Optional[
            typing.Iterable[global___KeywordPlanAdGroupForecast]
        ] = ...,
        keyword_forecasts: typing.Optional[
            typing.Iterable[global___KeywordPlanKeywordForecast]
        ] = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "ad_group_forecasts",
            b"ad_group_forecasts",
            "campaign_forecasts",
            b"campaign_forecasts",
            "keyword_forecasts",
            b"keyword_forecasts",
        ],
    ) -> None: ...

global___GenerateForecastMetricsResponse = GenerateForecastMetricsResponse

class KeywordPlanCampaignForecast(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KEYWORD_PLAN_CAMPAIGN_FIELD_NUMBER: builtins.int
    CAMPAIGN_FORECAST_FIELD_NUMBER: builtins.int
    keyword_plan_campaign: typing.Text = ...
    @property
    def campaign_forecast(self) -> global___ForecastMetrics: ...
    def __init__(
        self,
        *,
        keyword_plan_campaign: typing.Text = ...,
        campaign_forecast: typing.Optional[global___ForecastMetrics] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_keyword_plan_campaign",
            b"_keyword_plan_campaign",
            "campaign_forecast",
            b"campaign_forecast",
            "keyword_plan_campaign",
            b"keyword_plan_campaign",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_keyword_plan_campaign",
            b"_keyword_plan_campaign",
            "campaign_forecast",
            b"campaign_forecast",
            "keyword_plan_campaign",
            b"keyword_plan_campaign",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_keyword_plan_campaign", b"_keyword_plan_campaign"
        ],
    ) -> typing_extensions.Literal["keyword_plan_campaign"]: ...

global___KeywordPlanCampaignForecast = KeywordPlanCampaignForecast

class KeywordPlanAdGroupForecast(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KEYWORD_PLAN_AD_GROUP_FIELD_NUMBER: builtins.int
    AD_GROUP_FORECAST_FIELD_NUMBER: builtins.int
    keyword_plan_ad_group: typing.Text = ...
    @property
    def ad_group_forecast(self) -> global___ForecastMetrics: ...
    def __init__(
        self,
        *,
        keyword_plan_ad_group: typing.Text = ...,
        ad_group_forecast: typing.Optional[global___ForecastMetrics] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_keyword_plan_ad_group",
            b"_keyword_plan_ad_group",
            "ad_group_forecast",
            b"ad_group_forecast",
            "keyword_plan_ad_group",
            b"keyword_plan_ad_group",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_keyword_plan_ad_group",
            b"_keyword_plan_ad_group",
            "ad_group_forecast",
            b"ad_group_forecast",
            "keyword_plan_ad_group",
            b"keyword_plan_ad_group",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_keyword_plan_ad_group", b"_keyword_plan_ad_group"
        ],
    ) -> typing_extensions.Literal["keyword_plan_ad_group"]: ...

global___KeywordPlanAdGroupForecast = KeywordPlanAdGroupForecast

class KeywordPlanKeywordForecast(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KEYWORD_PLAN_AD_GROUP_KEYWORD_FIELD_NUMBER: builtins.int
    KEYWORD_FORECAST_FIELD_NUMBER: builtins.int
    keyword_plan_ad_group_keyword: typing.Text = ...
    @property
    def keyword_forecast(self) -> global___ForecastMetrics: ...
    def __init__(
        self,
        *,
        keyword_plan_ad_group_keyword: typing.Text = ...,
        keyword_forecast: typing.Optional[global___ForecastMetrics] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_keyword_plan_ad_group_keyword",
            b"_keyword_plan_ad_group_keyword",
            "keyword_forecast",
            b"keyword_forecast",
            "keyword_plan_ad_group_keyword",
            b"keyword_plan_ad_group_keyword",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_keyword_plan_ad_group_keyword",
            b"_keyword_plan_ad_group_keyword",
            "keyword_forecast",
            b"keyword_forecast",
            "keyword_plan_ad_group_keyword",
            b"keyword_plan_ad_group_keyword",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_keyword_plan_ad_group_keyword", b"_keyword_plan_ad_group_keyword"
        ],
    ) -> typing_extensions.Literal["keyword_plan_ad_group_keyword"]: ...

global___KeywordPlanKeywordForecast = KeywordPlanKeywordForecast

class KeywordPlanCampaignForecastCurve(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KEYWORD_PLAN_CAMPAIGN_FIELD_NUMBER: builtins.int
    MAX_CPC_BID_FORECAST_CURVE_FIELD_NUMBER: builtins.int
    keyword_plan_campaign: typing.Text = ...
    @property
    def max_cpc_bid_forecast_curve(
        self,
    ) -> global___KeywordPlanMaxCpcBidForecastCurve: ...
    def __init__(
        self,
        *,
        keyword_plan_campaign: typing.Text = ...,
        max_cpc_bid_forecast_curve: typing.Optional[
            global___KeywordPlanMaxCpcBidForecastCurve
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_keyword_plan_campaign",
            b"_keyword_plan_campaign",
            "keyword_plan_campaign",
            b"keyword_plan_campaign",
            "max_cpc_bid_forecast_curve",
            b"max_cpc_bid_forecast_curve",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_keyword_plan_campaign",
            b"_keyword_plan_campaign",
            "keyword_plan_campaign",
            b"keyword_plan_campaign",
            "max_cpc_bid_forecast_curve",
            b"max_cpc_bid_forecast_curve",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_keyword_plan_campaign", b"_keyword_plan_campaign"
        ],
    ) -> typing_extensions.Literal["keyword_plan_campaign"]: ...

global___KeywordPlanCampaignForecastCurve = KeywordPlanCampaignForecastCurve

class KeywordPlanMaxCpcBidForecastCurve(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MAX_CPC_BID_FORECASTS_FIELD_NUMBER: builtins.int
    @property
    def max_cpc_bid_forecasts(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___KeywordPlanMaxCpcBidForecast
    ]: ...
    def __init__(
        self,
        *,
        max_cpc_bid_forecasts: typing.Optional[
            typing.Iterable[global___KeywordPlanMaxCpcBidForecast]
        ] = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "max_cpc_bid_forecasts", b"max_cpc_bid_forecasts"
        ],
    ) -> None: ...

global___KeywordPlanMaxCpcBidForecastCurve = KeywordPlanMaxCpcBidForecastCurve

class KeywordPlanMaxCpcBidForecast(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MAX_CPC_BID_MICROS_FIELD_NUMBER: builtins.int
    MAX_CPC_BID_FORECAST_FIELD_NUMBER: builtins.int
    max_cpc_bid_micros: builtins.int = ...
    @property
    def max_cpc_bid_forecast(self) -> global___ForecastMetrics: ...
    def __init__(
        self,
        *,
        max_cpc_bid_micros: builtins.int = ...,
        max_cpc_bid_forecast: typing.Optional[global___ForecastMetrics] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_max_cpc_bid_micros",
            b"_max_cpc_bid_micros",
            "max_cpc_bid_forecast",
            b"max_cpc_bid_forecast",
            "max_cpc_bid_micros",
            b"max_cpc_bid_micros",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_max_cpc_bid_micros",
            b"_max_cpc_bid_micros",
            "max_cpc_bid_forecast",
            b"max_cpc_bid_forecast",
            "max_cpc_bid_micros",
            b"max_cpc_bid_micros",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_max_cpc_bid_micros", b"_max_cpc_bid_micros"
        ],
    ) -> typing_extensions.Literal["max_cpc_bid_micros"]: ...

global___KeywordPlanMaxCpcBidForecast = KeywordPlanMaxCpcBidForecast

class KeywordPlanWeeklyTimeSeriesForecast(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KEYWORD_PLAN_CAMPAIGN_FIELD_NUMBER: builtins.int
    WEEKLY_FORECASTS_FIELD_NUMBER: builtins.int
    keyword_plan_campaign: typing.Text = ...
    @property
    def weekly_forecasts(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___KeywordPlanWeeklyForecast
    ]: ...
    def __init__(
        self,
        *,
        keyword_plan_campaign: typing.Text = ...,
        weekly_forecasts: typing.Optional[
            typing.Iterable[global___KeywordPlanWeeklyForecast]
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_keyword_plan_campaign",
            b"_keyword_plan_campaign",
            "keyword_plan_campaign",
            b"keyword_plan_campaign",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_keyword_plan_campaign",
            b"_keyword_plan_campaign",
            "keyword_plan_campaign",
            b"keyword_plan_campaign",
            "weekly_forecasts",
            b"weekly_forecasts",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_keyword_plan_campaign", b"_keyword_plan_campaign"
        ],
    ) -> typing_extensions.Literal["keyword_plan_campaign"]: ...

global___KeywordPlanWeeklyTimeSeriesForecast = KeywordPlanWeeklyTimeSeriesForecast

class KeywordPlanWeeklyForecast(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    START_DATE_FIELD_NUMBER: builtins.int
    FORECAST_FIELD_NUMBER: builtins.int
    start_date: typing.Text = ...
    @property
    def forecast(self) -> global___ForecastMetrics: ...
    def __init__(
        self,
        *,
        start_date: typing.Text = ...,
        forecast: typing.Optional[global___ForecastMetrics] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_start_date",
            b"_start_date",
            "forecast",
            b"forecast",
            "start_date",
            b"start_date",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_start_date",
            b"_start_date",
            "forecast",
            b"forecast",
            "start_date",
            b"start_date",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_start_date", b"_start_date"]
    ) -> typing_extensions.Literal["start_date"]: ...

global___KeywordPlanWeeklyForecast = KeywordPlanWeeklyForecast

class ForecastMetrics(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    IMPRESSIONS_FIELD_NUMBER: builtins.int
    CTR_FIELD_NUMBER: builtins.int
    AVERAGE_CPC_FIELD_NUMBER: builtins.int
    CLICKS_FIELD_NUMBER: builtins.int
    COST_MICROS_FIELD_NUMBER: builtins.int
    impressions: builtins.float = ...
    ctr: builtins.float = ...
    average_cpc: builtins.int = ...
    clicks: builtins.float = ...
    cost_micros: builtins.int = ...
    def __init__(
        self,
        *,
        impressions: builtins.float = ...,
        ctr: builtins.float = ...,
        average_cpc: builtins.int = ...,
        clicks: builtins.float = ...,
        cost_micros: builtins.int = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_average_cpc",
            b"_average_cpc",
            "_clicks",
            b"_clicks",
            "_cost_micros",
            b"_cost_micros",
            "_ctr",
            b"_ctr",
            "_impressions",
            b"_impressions",
            "average_cpc",
            b"average_cpc",
            "clicks",
            b"clicks",
            "cost_micros",
            b"cost_micros",
            "ctr",
            b"ctr",
            "impressions",
            b"impressions",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_average_cpc",
            b"_average_cpc",
            "_clicks",
            b"_clicks",
            "_cost_micros",
            b"_cost_micros",
            "_ctr",
            b"_ctr",
            "_impressions",
            b"_impressions",
            "average_cpc",
            b"average_cpc",
            "clicks",
            b"clicks",
            "cost_micros",
            b"cost_micros",
            "ctr",
            b"ctr",
            "impressions",
            b"impressions",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_average_cpc", b"_average_cpc"]
    ) -> typing_extensions.Literal["average_cpc"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_clicks", b"_clicks"]
    ) -> typing_extensions.Literal["clicks"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_cost_micros", b"_cost_micros"]
    ) -> typing_extensions.Literal["cost_micros"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_ctr", b"_ctr"]
    ) -> typing_extensions.Literal["ctr"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_impressions", b"_impressions"]
    ) -> typing_extensions.Literal["impressions"]: ...

global___ForecastMetrics = ForecastMetrics

class GenerateHistoricalMetricsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KEYWORD_PLAN_FIELD_NUMBER: builtins.int
    keyword_plan: typing.Text = ...
    def __init__(
        self,
        *,
        keyword_plan: typing.Text = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["keyword_plan", b"keyword_plan"]
    ) -> None: ...

global___GenerateHistoricalMetricsRequest = GenerateHistoricalMetricsRequest

class GenerateHistoricalMetricsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    METRICS_FIELD_NUMBER: builtins.int
    @property
    def metrics(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___KeywordPlanKeywordHistoricalMetrics
    ]: ...
    def __init__(
        self,
        *,
        metrics: typing.Optional[
            typing.Iterable[global___KeywordPlanKeywordHistoricalMetrics]
        ] = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["metrics", b"metrics"]
    ) -> None: ...

global___GenerateHistoricalMetricsResponse = GenerateHistoricalMetricsResponse

class KeywordPlanKeywordHistoricalMetrics(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SEARCH_QUERY_FIELD_NUMBER: builtins.int
    CLOSE_VARIANTS_FIELD_NUMBER: builtins.int
    KEYWORD_METRICS_FIELD_NUMBER: builtins.int
    search_query: typing.Text = ...
    close_variants: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        typing.Text
    ] = ...
    @property
    def keyword_metrics(
        self,
    ) -> google.ads.google_ads.v6.proto.common.keyword_plan_common_pb2.KeywordPlanHistoricalMetrics: ...
    def __init__(
        self,
        *,
        search_query: typing.Text = ...,
        close_variants: typing.Optional[typing.Iterable[typing.Text]] = ...,
        keyword_metrics: typing.Optional[
            google.ads.google_ads.v6.proto.common.keyword_plan_common_pb2.KeywordPlanHistoricalMetrics
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_search_query",
            b"_search_query",
            "keyword_metrics",
            b"keyword_metrics",
            "search_query",
            b"search_query",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_search_query",
            b"_search_query",
            "close_variants",
            b"close_variants",
            "keyword_metrics",
            b"keyword_metrics",
            "search_query",
            b"search_query",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_search_query", b"_search_query"]
    ) -> typing_extensions.Literal["search_query"]: ...

global___KeywordPlanKeywordHistoricalMetrics = KeywordPlanKeywordHistoricalMetrics
