# @generated by mypy-protobuf.  Do not edit manually!
import sys
from typing import Optional as typing___Optional, overload as typing___overload

from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    FileDescriptor as google___protobuf___descriptor___FileDescriptor,
)
from google.protobuf.message import Message as google___protobuf___message___Message
from typing_extensions import Literal as typing_extensions___Literal

from google.ads.google_ads.v6.proto.enums.target_impression_share_location_pb2 import (
    TargetImpressionShareLocationEnum as google___ads___googleads___v6___enums___target_impression_share_location_pb2___TargetImpressionShareLocationEnum,
)

builtin___bool = bool
builtin___bytes = bytes
builtin___float = float
builtin___int = int

DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...

class Commission(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    commission_rate_micros: builtin___int = ...
    def __init__(
        self, *, commission_rate_micros: typing___Optional[builtin___int] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_commission_rate_micros",
            b"_commission_rate_micros",
            "commission_rate_micros",
            b"commission_rate_micros",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_commission_rate_micros",
            b"_commission_rate_micros",
            "commission_rate_micros",
            b"commission_rate_micros",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_commission_rate_micros", b"_commission_rate_micros"
        ],
    ) -> typing_extensions___Literal["commission_rate_micros"]: ...

type___Commission = Commission

class EnhancedCpc(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    def __init__(self,) -> None: ...

type___EnhancedCpc = EnhancedCpc

class ManualCpc(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    enhanced_cpc_enabled: builtin___bool = ...
    def __init__(
        self, *, enhanced_cpc_enabled: typing___Optional[builtin___bool] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_enhanced_cpc_enabled",
            b"_enhanced_cpc_enabled",
            "enhanced_cpc_enabled",
            b"enhanced_cpc_enabled",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_enhanced_cpc_enabled",
            b"_enhanced_cpc_enabled",
            "enhanced_cpc_enabled",
            b"enhanced_cpc_enabled",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_enhanced_cpc_enabled", b"_enhanced_cpc_enabled"
        ],
    ) -> typing_extensions___Literal["enhanced_cpc_enabled"]: ...

type___ManualCpc = ManualCpc

class ManualCpm(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    def __init__(self,) -> None: ...

type___ManualCpm = ManualCpm

class ManualCpv(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    def __init__(self,) -> None: ...

type___ManualCpv = ManualCpv

class MaximizeConversions(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    target_cpa: builtin___int = ...
    def __init__(
        self, *, target_cpa: typing___Optional[builtin___int] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["target_cpa", b"target_cpa"]
    ) -> None: ...

type___MaximizeConversions = MaximizeConversions

class MaximizeConversionValue(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    target_roas: builtin___float = ...
    def __init__(
        self, *, target_roas: typing___Optional[builtin___float] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_target_roas", b"_target_roas", "target_roas", b"target_roas"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_target_roas", b"_target_roas", "target_roas", b"target_roas"
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_target_roas", b"_target_roas"]
    ) -> typing_extensions___Literal["target_roas"]: ...

type___MaximizeConversionValue = MaximizeConversionValue

class TargetCpa(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    target_cpa_micros: builtin___int = ...
    cpc_bid_ceiling_micros: builtin___int = ...
    cpc_bid_floor_micros: builtin___int = ...
    def __init__(
        self,
        *,
        target_cpa_micros: typing___Optional[builtin___int] = None,
        cpc_bid_ceiling_micros: typing___Optional[builtin___int] = None,
        cpc_bid_floor_micros: typing___Optional[builtin___int] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros",
            b"_cpc_bid_ceiling_micros",
            "_cpc_bid_floor_micros",
            b"_cpc_bid_floor_micros",
            "_target_cpa_micros",
            b"_target_cpa_micros",
            "cpc_bid_ceiling_micros",
            b"cpc_bid_ceiling_micros",
            "cpc_bid_floor_micros",
            b"cpc_bid_floor_micros",
            "target_cpa_micros",
            b"target_cpa_micros",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros",
            b"_cpc_bid_ceiling_micros",
            "_cpc_bid_floor_micros",
            b"_cpc_bid_floor_micros",
            "_target_cpa_micros",
            b"_target_cpa_micros",
            "cpc_bid_ceiling_micros",
            b"cpc_bid_ceiling_micros",
            "cpc_bid_floor_micros",
            b"cpc_bid_floor_micros",
            "target_cpa_micros",
            b"target_cpa_micros",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros", b"_cpc_bid_ceiling_micros"
        ],
    ) -> typing_extensions___Literal["cpc_bid_ceiling_micros"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_cpc_bid_floor_micros", b"_cpc_bid_floor_micros"
        ],
    ) -> typing_extensions___Literal["cpc_bid_floor_micros"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_target_cpa_micros", b"_target_cpa_micros"
        ],
    ) -> typing_extensions___Literal["target_cpa_micros"]: ...

type___TargetCpa = TargetCpa

class TargetCpm(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    def __init__(self,) -> None: ...

type___TargetCpm = TargetCpm

class TargetImpressionShare(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    location: google___ads___googleads___v6___enums___target_impression_share_location_pb2___TargetImpressionShareLocationEnum.TargetImpressionShareLocationValue = ...
    location_fraction_micros: builtin___int = ...
    cpc_bid_ceiling_micros: builtin___int = ...
    def __init__(
        self,
        *,
        location: typing___Optional[
            google___ads___googleads___v6___enums___target_impression_share_location_pb2___TargetImpressionShareLocationEnum.TargetImpressionShareLocationValue
        ] = None,
        location_fraction_micros: typing___Optional[builtin___int] = None,
        cpc_bid_ceiling_micros: typing___Optional[builtin___int] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros",
            b"_cpc_bid_ceiling_micros",
            "_location_fraction_micros",
            b"_location_fraction_micros",
            "cpc_bid_ceiling_micros",
            b"cpc_bid_ceiling_micros",
            "location_fraction_micros",
            b"location_fraction_micros",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros",
            b"_cpc_bid_ceiling_micros",
            "_location_fraction_micros",
            b"_location_fraction_micros",
            "cpc_bid_ceiling_micros",
            b"cpc_bid_ceiling_micros",
            "location",
            b"location",
            "location_fraction_micros",
            b"location_fraction_micros",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros", b"_cpc_bid_ceiling_micros"
        ],
    ) -> typing_extensions___Literal["cpc_bid_ceiling_micros"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_location_fraction_micros", b"_location_fraction_micros"
        ],
    ) -> typing_extensions___Literal["location_fraction_micros"]: ...

type___TargetImpressionShare = TargetImpressionShare

class TargetRoas(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    target_roas: builtin___float = ...
    cpc_bid_ceiling_micros: builtin___int = ...
    cpc_bid_floor_micros: builtin___int = ...
    def __init__(
        self,
        *,
        target_roas: typing___Optional[builtin___float] = None,
        cpc_bid_ceiling_micros: typing___Optional[builtin___int] = None,
        cpc_bid_floor_micros: typing___Optional[builtin___int] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros",
            b"_cpc_bid_ceiling_micros",
            "_cpc_bid_floor_micros",
            b"_cpc_bid_floor_micros",
            "_target_roas",
            b"_target_roas",
            "cpc_bid_ceiling_micros",
            b"cpc_bid_ceiling_micros",
            "cpc_bid_floor_micros",
            b"cpc_bid_floor_micros",
            "target_roas",
            b"target_roas",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros",
            b"_cpc_bid_ceiling_micros",
            "_cpc_bid_floor_micros",
            b"_cpc_bid_floor_micros",
            "_target_roas",
            b"_target_roas",
            "cpc_bid_ceiling_micros",
            b"cpc_bid_ceiling_micros",
            "cpc_bid_floor_micros",
            b"cpc_bid_floor_micros",
            "target_roas",
            b"target_roas",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros", b"_cpc_bid_ceiling_micros"
        ],
    ) -> typing_extensions___Literal["cpc_bid_ceiling_micros"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_cpc_bid_floor_micros", b"_cpc_bid_floor_micros"
        ],
    ) -> typing_extensions___Literal["cpc_bid_floor_micros"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_target_roas", b"_target_roas"]
    ) -> typing_extensions___Literal["target_roas"]: ...

type___TargetRoas = TargetRoas

class TargetSpend(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    target_spend_micros: builtin___int = ...
    cpc_bid_ceiling_micros: builtin___int = ...
    def __init__(
        self,
        *,
        target_spend_micros: typing___Optional[builtin___int] = None,
        cpc_bid_ceiling_micros: typing___Optional[builtin___int] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros",
            b"_cpc_bid_ceiling_micros",
            "_target_spend_micros",
            b"_target_spend_micros",
            "cpc_bid_ceiling_micros",
            b"cpc_bid_ceiling_micros",
            "target_spend_micros",
            b"target_spend_micros",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros",
            b"_cpc_bid_ceiling_micros",
            "_target_spend_micros",
            b"_target_spend_micros",
            "cpc_bid_ceiling_micros",
            b"cpc_bid_ceiling_micros",
            "target_spend_micros",
            b"target_spend_micros",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros", b"_cpc_bid_ceiling_micros"
        ],
    ) -> typing_extensions___Literal["cpc_bid_ceiling_micros"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_target_spend_micros", b"_target_spend_micros"
        ],
    ) -> typing_extensions___Literal["target_spend_micros"]: ...

type___TargetSpend = TargetSpend

class PercentCpc(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    cpc_bid_ceiling_micros: builtin___int = ...
    enhanced_cpc_enabled: builtin___bool = ...
    def __init__(
        self,
        *,
        cpc_bid_ceiling_micros: typing___Optional[builtin___int] = None,
        enhanced_cpc_enabled: typing___Optional[builtin___bool] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros",
            b"_cpc_bid_ceiling_micros",
            "_enhanced_cpc_enabled",
            b"_enhanced_cpc_enabled",
            "cpc_bid_ceiling_micros",
            b"cpc_bid_ceiling_micros",
            "enhanced_cpc_enabled",
            b"enhanced_cpc_enabled",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros",
            b"_cpc_bid_ceiling_micros",
            "_enhanced_cpc_enabled",
            b"_enhanced_cpc_enabled",
            "cpc_bid_ceiling_micros",
            b"cpc_bid_ceiling_micros",
            "enhanced_cpc_enabled",
            b"enhanced_cpc_enabled",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_cpc_bid_ceiling_micros", b"_cpc_bid_ceiling_micros"
        ],
    ) -> typing_extensions___Literal["cpc_bid_ceiling_micros"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_enhanced_cpc_enabled", b"_enhanced_cpc_enabled"
        ],
    ) -> typing_extensions___Literal["enhanced_cpc_enabled"]: ...

type___PercentCpc = PercentCpc
