"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v5.proto.common.extensions_pb2
import google.ads.google_ads.v5.proto.enums.keyword_match_type_pb2
import google.ads.google_ads.v5.proto.resources.ad_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.wrappers_pb2
import google.rpc.status_pb2
import typing
import typing_extensions

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

class GetRecommendationRequest(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___GetRecommendationRequest = GetRecommendationRequest

class ApplyRecommendationRequest(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
    customer_id: typing.Text = ...
    partial_failure: builtins.bool = ...
    @property
    def operations(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___ApplyRecommendationOperation
    ]: ...
    def __init__(
        self,
        *,
        customer_id: typing.Text = ...,
        operations: typing.Optional[
            typing.Iterable[global___ApplyRecommendationOperation]
        ] = ...,
        partial_failure: builtins.bool = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "customer_id",
            b"customer_id",
            "operations",
            b"operations",
            "partial_failure",
            b"partial_failure",
        ],
    ) -> None: ...

global___ApplyRecommendationRequest = ApplyRecommendationRequest

class ApplyRecommendationOperation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class CampaignBudgetParameters(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        NEW_BUDGET_AMOUNT_MICROS_FIELD_NUMBER: builtins.int
        @property
        def new_budget_amount_micros(
            self,
        ) -> google.protobuf.wrappers_pb2.Int64Value: ...
        def __init__(
            self,
            *,
            new_budget_amount_micros: typing.Optional[
                google.protobuf.wrappers_pb2.Int64Value
            ] = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "new_budget_amount_micros", b"new_budget_amount_micros"
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "new_budget_amount_micros", b"new_budget_amount_micros"
            ],
        ) -> None: ...
    class TextAdParameters(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        AD_FIELD_NUMBER: builtins.int
        @property
        def ad(self) -> google.ads.google_ads.v5.proto.resources.ad_pb2.Ad: ...
        def __init__(
            self,
            *,
            ad: typing.Optional[
                google.ads.google_ads.v5.proto.resources.ad_pb2.Ad
            ] = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["ad", b"ad"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing_extensions.Literal["ad", b"ad"]
        ) -> None: ...
    class KeywordParameters(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        AD_GROUP_FIELD_NUMBER: builtins.int
        MATCH_TYPE_FIELD_NUMBER: builtins.int
        CPC_BID_MICROS_FIELD_NUMBER: builtins.int
        match_type: google.ads.google_ads.v5.proto.enums.keyword_match_type_pb2.KeywordMatchTypeEnum.KeywordMatchType.V = (
            ...
        )
        @property
        def ad_group(self) -> google.protobuf.wrappers_pb2.StringValue: ...
        @property
        def cpc_bid_micros(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
        def __init__(
            self,
            *,
            ad_group: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
            match_type: google.ads.google_ads.v5.proto.enums.keyword_match_type_pb2.KeywordMatchTypeEnum.KeywordMatchType.V = ...,
            cpc_bid_micros: typing.Optional[
                google.protobuf.wrappers_pb2.Int64Value
            ] = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "ad_group", b"ad_group", "cpc_bid_micros", b"cpc_bid_micros"
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "ad_group",
                b"ad_group",
                "cpc_bid_micros",
                b"cpc_bid_micros",
                "match_type",
                b"match_type",
            ],
        ) -> None: ...
    class TargetCpaOptInParameters(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        TARGET_CPA_MICROS_FIELD_NUMBER: builtins.int
        NEW_CAMPAIGN_BUDGET_AMOUNT_MICROS_FIELD_NUMBER: builtins.int
        @property
        def target_cpa_micros(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
        @property
        def new_campaign_budget_amount_micros(
            self,
        ) -> google.protobuf.wrappers_pb2.Int64Value: ...
        def __init__(
            self,
            *,
            target_cpa_micros: typing.Optional[
                google.protobuf.wrappers_pb2.Int64Value
            ] = ...,
            new_campaign_budget_amount_micros: typing.Optional[
                google.protobuf.wrappers_pb2.Int64Value
            ] = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "new_campaign_budget_amount_micros",
                b"new_campaign_budget_amount_micros",
                "target_cpa_micros",
                b"target_cpa_micros",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "new_campaign_budget_amount_micros",
                b"new_campaign_budget_amount_micros",
                "target_cpa_micros",
                b"target_cpa_micros",
            ],
        ) -> None: ...
    class TargetRoasOptInParameters(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        TARGET_ROAS_FIELD_NUMBER: builtins.int
        NEW_CAMPAIGN_BUDGET_AMOUNT_MICROS_FIELD_NUMBER: builtins.int
        target_roas: builtins.float = ...
        new_campaign_budget_amount_micros: builtins.int = ...
        def __init__(
            self,
            *,
            target_roas: builtins.float = ...,
            new_campaign_budget_amount_micros: builtins.int = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "_new_campaign_budget_amount_micros",
                b"_new_campaign_budget_amount_micros",
                "_target_roas",
                b"_target_roas",
                "new_campaign_budget_amount_micros",
                b"new_campaign_budget_amount_micros",
                "target_roas",
                b"target_roas",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "_new_campaign_budget_amount_micros",
                b"_new_campaign_budget_amount_micros",
                "_target_roas",
                b"_target_roas",
                "new_campaign_budget_amount_micros",
                b"new_campaign_budget_amount_micros",
                "target_roas",
                b"target_roas",
            ],
        ) -> None: ...
        @typing.overload
        def WhichOneof(
            self,
            oneof_group: typing_extensions.Literal[
                "_new_campaign_budget_amount_micros",
                b"_new_campaign_budget_amount_micros",
            ],
        ) -> typing_extensions.Literal["new_campaign_budget_amount_micros"]: ...
        @typing.overload
        def WhichOneof(
            self,
            oneof_group: typing_extensions.Literal["_target_roas", b"_target_roas"],
        ) -> typing_extensions.Literal["target_roas"]: ...
    class CalloutExtensionParameters(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        CALLOUT_EXTENSIONS_FIELD_NUMBER: builtins.int
        @property
        def callout_extensions(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            google.ads.google_ads.v5.proto.common.extensions_pb2.CalloutFeedItem
        ]: ...
        def __init__(
            self,
            *,
            callout_extensions: typing.Optional[
                typing.Iterable[
                    google.ads.google_ads.v5.proto.common.extensions_pb2.CalloutFeedItem
                ]
            ] = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "callout_extensions", b"callout_extensions"
            ],
        ) -> None: ...
    class CallExtensionParameters(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        CALL_EXTENSIONS_FIELD_NUMBER: builtins.int
        @property
        def call_extensions(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            google.ads.google_ads.v5.proto.common.extensions_pb2.CallFeedItem
        ]: ...
        def __init__(
            self,
            *,
            call_extensions: typing.Optional[
                typing.Iterable[
                    google.ads.google_ads.v5.proto.common.extensions_pb2.CallFeedItem
                ]
            ] = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "call_extensions", b"call_extensions"
            ],
        ) -> None: ...
    class SitelinkExtensionParameters(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        SITELINK_EXTENSIONS_FIELD_NUMBER: builtins.int
        @property
        def sitelink_extensions(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            google.ads.google_ads.v5.proto.common.extensions_pb2.SitelinkFeedItem
        ]: ...
        def __init__(
            self,
            *,
            sitelink_extensions: typing.Optional[
                typing.Iterable[
                    google.ads.google_ads.v5.proto.common.extensions_pb2.SitelinkFeedItem
                ]
            ] = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "sitelink_extensions", b"sitelink_extensions"
            ],
        ) -> None: ...
    class MoveUnusedBudgetParameters(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        BUDGET_MICROS_TO_MOVE_FIELD_NUMBER: builtins.int
        @property
        def budget_micros_to_move(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
        def __init__(
            self,
            *,
            budget_micros_to_move: typing.Optional[
                google.protobuf.wrappers_pb2.Int64Value
            ] = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "budget_micros_to_move", b"budget_micros_to_move"
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "budget_micros_to_move", b"budget_micros_to_move"
            ],
        ) -> None: ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    CAMPAIGN_BUDGET_FIELD_NUMBER: builtins.int
    TEXT_AD_FIELD_NUMBER: builtins.int
    KEYWORD_FIELD_NUMBER: builtins.int
    TARGET_CPA_OPT_IN_FIELD_NUMBER: builtins.int
    TARGET_ROAS_OPT_IN_FIELD_NUMBER: builtins.int
    CALLOUT_EXTENSION_FIELD_NUMBER: builtins.int
    CALL_EXTENSION_FIELD_NUMBER: builtins.int
    SITELINK_EXTENSION_FIELD_NUMBER: builtins.int
    MOVE_UNUSED_BUDGET_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    @property
    def campaign_budget(
        self,
    ) -> global___ApplyRecommendationOperation.CampaignBudgetParameters: ...
    @property
    def text_ad(self) -> global___ApplyRecommendationOperation.TextAdParameters: ...
    @property
    def keyword(self) -> global___ApplyRecommendationOperation.KeywordParameters: ...
    @property
    def target_cpa_opt_in(
        self,
    ) -> global___ApplyRecommendationOperation.TargetCpaOptInParameters: ...
    @property
    def target_roas_opt_in(
        self,
    ) -> global___ApplyRecommendationOperation.TargetRoasOptInParameters: ...
    @property
    def callout_extension(
        self,
    ) -> global___ApplyRecommendationOperation.CalloutExtensionParameters: ...
    @property
    def call_extension(
        self,
    ) -> global___ApplyRecommendationOperation.CallExtensionParameters: ...
    @property
    def sitelink_extension(
        self,
    ) -> global___ApplyRecommendationOperation.SitelinkExtensionParameters: ...
    @property
    def move_unused_budget(
        self,
    ) -> global___ApplyRecommendationOperation.MoveUnusedBudgetParameters: ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        campaign_budget: typing.Optional[
            global___ApplyRecommendationOperation.CampaignBudgetParameters
        ] = ...,
        text_ad: typing.Optional[
            global___ApplyRecommendationOperation.TextAdParameters
        ] = ...,
        keyword: typing.Optional[
            global___ApplyRecommendationOperation.KeywordParameters
        ] = ...,
        target_cpa_opt_in: typing.Optional[
            global___ApplyRecommendationOperation.TargetCpaOptInParameters
        ] = ...,
        target_roas_opt_in: typing.Optional[
            global___ApplyRecommendationOperation.TargetRoasOptInParameters
        ] = ...,
        callout_extension: typing.Optional[
            global___ApplyRecommendationOperation.CalloutExtensionParameters
        ] = ...,
        call_extension: typing.Optional[
            global___ApplyRecommendationOperation.CallExtensionParameters
        ] = ...,
        sitelink_extension: typing.Optional[
            global___ApplyRecommendationOperation.SitelinkExtensionParameters
        ] = ...,
        move_unused_budget: typing.Optional[
            global___ApplyRecommendationOperation.MoveUnusedBudgetParameters
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "apply_parameters",
            b"apply_parameters",
            "call_extension",
            b"call_extension",
            "callout_extension",
            b"callout_extension",
            "campaign_budget",
            b"campaign_budget",
            "keyword",
            b"keyword",
            "move_unused_budget",
            b"move_unused_budget",
            "sitelink_extension",
            b"sitelink_extension",
            "target_cpa_opt_in",
            b"target_cpa_opt_in",
            "target_roas_opt_in",
            b"target_roas_opt_in",
            "text_ad",
            b"text_ad",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "apply_parameters",
            b"apply_parameters",
            "call_extension",
            b"call_extension",
            "callout_extension",
            b"callout_extension",
            "campaign_budget",
            b"campaign_budget",
            "keyword",
            b"keyword",
            "move_unused_budget",
            b"move_unused_budget",
            "resource_name",
            b"resource_name",
            "sitelink_extension",
            b"sitelink_extension",
            "target_cpa_opt_in",
            b"target_cpa_opt_in",
            "target_roas_opt_in",
            b"target_roas_opt_in",
            "text_ad",
            b"text_ad",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal["apply_parameters", b"apply_parameters"],
    ) -> typing_extensions.Literal[
        "campaign_budget",
        "text_ad",
        "keyword",
        "target_cpa_opt_in",
        "target_roas_opt_in",
        "callout_extension",
        "call_extension",
        "sitelink_extension",
        "move_unused_budget",
    ]: ...

global___ApplyRecommendationOperation = ApplyRecommendationOperation

class ApplyRecommendationResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESULTS_FIELD_NUMBER: builtins.int
    PARTIAL_FAILURE_ERROR_FIELD_NUMBER: builtins.int
    @property
    def results(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___ApplyRecommendationResult
    ]: ...
    @property
    def partial_failure_error(self) -> google.rpc.status_pb2.Status: ...
    def __init__(
        self,
        *,
        results: typing.Optional[
            typing.Iterable[global___ApplyRecommendationResult]
        ] = ...,
        partial_failure_error: typing.Optional[google.rpc.status_pb2.Status] = ...,
    ) -> 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___ApplyRecommendationResponse = ApplyRecommendationResponse

class ApplyRecommendationResult(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___ApplyRecommendationResult = ApplyRecommendationResult

class DismissRecommendationRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class DismissRecommendationOperation(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: ...
    CUSTOMER_ID_FIELD_NUMBER: builtins.int
    OPERATIONS_FIELD_NUMBER: builtins.int
    PARTIAL_FAILURE_FIELD_NUMBER: builtins.int
    customer_id: typing.Text = ...
    partial_failure: builtins.bool = ...
    @property
    def operations(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___DismissRecommendationRequest.DismissRecommendationOperation
    ]: ...
    def __init__(
        self,
        *,
        customer_id: typing.Text = ...,
        operations: typing.Optional[
            typing.Iterable[
                global___DismissRecommendationRequest.DismissRecommendationOperation
            ]
        ] = ...,
        partial_failure: builtins.bool = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "customer_id",
            b"customer_id",
            "operations",
            b"operations",
            "partial_failure",
            b"partial_failure",
        ],
    ) -> None: ...

global___DismissRecommendationRequest = DismissRecommendationRequest

class DismissRecommendationResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class DismissRecommendationResult(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: ...
    RESULTS_FIELD_NUMBER: builtins.int
    PARTIAL_FAILURE_ERROR_FIELD_NUMBER: builtins.int
    @property
    def results(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___DismissRecommendationResponse.DismissRecommendationResult
    ]: ...
    @property
    def partial_failure_error(self) -> google.rpc.status_pb2.Status: ...
    def __init__(
        self,
        *,
        results: typing.Optional[
            typing.Iterable[
                global___DismissRecommendationResponse.DismissRecommendationResult
            ]
        ] = ...,
        partial_failure_error: typing.Optional[google.rpc.status_pb2.Status] = ...,
    ) -> 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___DismissRecommendationResponse = DismissRecommendationResponse
