"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v5.proto.enums.targeting_dimension_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import typing
import typing_extensions

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

class TargetingSetting(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TARGET_RESTRICTIONS_FIELD_NUMBER: builtins.int
    TARGET_RESTRICTION_OPERATIONS_FIELD_NUMBER: builtins.int
    @property
    def target_restrictions(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___TargetRestriction
    ]: ...
    @property
    def target_restriction_operations(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___TargetRestrictionOperation
    ]: ...
    def __init__(
        self,
        *,
        target_restrictions: typing.Optional[
            typing.Iterable[global___TargetRestriction]
        ] = ...,
        target_restriction_operations: typing.Optional[
            typing.Iterable[global___TargetRestrictionOperation]
        ] = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "target_restriction_operations",
            b"target_restriction_operations",
            "target_restrictions",
            b"target_restrictions",
        ],
    ) -> None: ...

global___TargetingSetting = TargetingSetting

class TargetRestriction(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TARGETING_DIMENSION_FIELD_NUMBER: builtins.int
    BID_ONLY_FIELD_NUMBER: builtins.int
    targeting_dimension: google.ads.google_ads.v5.proto.enums.targeting_dimension_pb2.TargetingDimensionEnum.TargetingDimension.V = (
        ...
    )
    bid_only: builtins.bool = ...
    def __init__(
        self,
        *,
        targeting_dimension: google.ads.google_ads.v5.proto.enums.targeting_dimension_pb2.TargetingDimensionEnum.TargetingDimension.V = ...,
        bid_only: builtins.bool = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_bid_only", b"_bid_only", "bid_only", b"bid_only"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_bid_only",
            b"_bid_only",
            "bid_only",
            b"bid_only",
            "targeting_dimension",
            b"targeting_dimension",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_bid_only", b"_bid_only"]
    ) -> typing_extensions.Literal["bid_only"]: ...

global___TargetRestriction = TargetRestriction

class TargetRestrictionOperation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class _Operator(
        google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Operator.V],
        builtins.type,
    ):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        UNSPECIFIED = TargetRestrictionOperation.Operator.V(0)
        UNKNOWN = TargetRestrictionOperation.Operator.V(1)
        ADD = TargetRestrictionOperation.Operator.V(2)
        REMOVE = TargetRestrictionOperation.Operator.V(3)
    class Operator(metaclass=_Operator):
        V = typing.NewType("V", builtins.int)
    UNSPECIFIED = TargetRestrictionOperation.Operator.V(0)
    UNKNOWN = TargetRestrictionOperation.Operator.V(1)
    ADD = TargetRestrictionOperation.Operator.V(2)
    REMOVE = TargetRestrictionOperation.Operator.V(3)

    OPERATOR_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    operator: global___TargetRestrictionOperation.Operator.V = ...
    @property
    def value(self) -> global___TargetRestriction: ...
    def __init__(
        self,
        *,
        operator: global___TargetRestrictionOperation.Operator.V = ...,
        value: typing.Optional[global___TargetRestriction] = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["value", b"value"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "operator", b"operator", "value", b"value"
        ],
    ) -> None: ...

global___TargetRestrictionOperation = TargetRestrictionOperation
