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

from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    FileDescriptor as google___protobuf___descriptor___FileDescriptor,
)
from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
)
from google.protobuf.message import Message as google___protobuf___message___Message
from google.protobuf.wrappers_pb2 import (
    DoubleValue as google___protobuf___wrappers_pb2___DoubleValue,
    Int32Value as google___protobuf___wrappers_pb2___Int32Value,
    Int64Value as google___protobuf___wrappers_pb2___Int64Value,
    StringValue as google___protobuf___wrappers_pb2___StringValue,
)
from typing_extensions import Literal as typing_extensions___Literal

from google.ads.google_ads.v4.proto.enums.age_range_type_pb2 import (
    AgeRangeTypeEnum as google___ads___googleads___v4___enums___age_range_type_pb2___AgeRangeTypeEnum,
)
from google.ads.google_ads.v4.proto.enums.app_payment_model_type_pb2 import (
    AppPaymentModelTypeEnum as google___ads___googleads___v4___enums___app_payment_model_type_pb2___AppPaymentModelTypeEnum,
)
from google.ads.google_ads.v4.proto.enums.content_label_type_pb2 import (
    ContentLabelTypeEnum as google___ads___googleads___v4___enums___content_label_type_pb2___ContentLabelTypeEnum,
)
from google.ads.google_ads.v4.proto.enums.day_of_week_pb2 import (
    DayOfWeekEnum as google___ads___googleads___v4___enums___day_of_week_pb2___DayOfWeekEnum,
)
from google.ads.google_ads.v4.proto.enums.device_pb2 import (
    DeviceEnum as google___ads___googleads___v4___enums___device_pb2___DeviceEnum,
)
from google.ads.google_ads.v4.proto.enums.gender_type_pb2 import (
    GenderTypeEnum as google___ads___googleads___v4___enums___gender_type_pb2___GenderTypeEnum,
)
from google.ads.google_ads.v4.proto.enums.hotel_date_selection_type_pb2 import (
    HotelDateSelectionTypeEnum as google___ads___googleads___v4___enums___hotel_date_selection_type_pb2___HotelDateSelectionTypeEnum,
)
from google.ads.google_ads.v4.proto.enums.income_range_type_pb2 import (
    IncomeRangeTypeEnum as google___ads___googleads___v4___enums___income_range_type_pb2___IncomeRangeTypeEnum,
)
from google.ads.google_ads.v4.proto.enums.interaction_type_pb2 import (
    InteractionTypeEnum as google___ads___googleads___v4___enums___interaction_type_pb2___InteractionTypeEnum,
)
from google.ads.google_ads.v4.proto.enums.keyword_match_type_pb2 import (
    KeywordMatchTypeEnum as google___ads___googleads___v4___enums___keyword_match_type_pb2___KeywordMatchTypeEnum,
)
from google.ads.google_ads.v4.proto.enums.listing_group_type_pb2 import (
    ListingGroupTypeEnum as google___ads___googleads___v4___enums___listing_group_type_pb2___ListingGroupTypeEnum,
)
from google.ads.google_ads.v4.proto.enums.location_group_radius_units_pb2 import (
    LocationGroupRadiusUnitsEnum as google___ads___googleads___v4___enums___location_group_radius_units_pb2___LocationGroupRadiusUnitsEnum,
)
from google.ads.google_ads.v4.proto.enums.minute_of_hour_pb2 import (
    MinuteOfHourEnum as google___ads___googleads___v4___enums___minute_of_hour_pb2___MinuteOfHourEnum,
)
from google.ads.google_ads.v4.proto.enums.parental_status_type_pb2 import (
    ParentalStatusTypeEnum as google___ads___googleads___v4___enums___parental_status_type_pb2___ParentalStatusTypeEnum,
)
from google.ads.google_ads.v4.proto.enums.preferred_content_type_pb2 import (
    PreferredContentTypeEnum as google___ads___googleads___v4___enums___preferred_content_type_pb2___PreferredContentTypeEnum,
)
from google.ads.google_ads.v4.proto.enums.product_bidding_category_level_pb2 import (
    ProductBiddingCategoryLevelEnum as google___ads___googleads___v4___enums___product_bidding_category_level_pb2___ProductBiddingCategoryLevelEnum,
)
from google.ads.google_ads.v4.proto.enums.product_channel_exclusivity_pb2 import (
    ProductChannelExclusivityEnum as google___ads___googleads___v4___enums___product_channel_exclusivity_pb2___ProductChannelExclusivityEnum,
)
from google.ads.google_ads.v4.proto.enums.product_channel_pb2 import (
    ProductChannelEnum as google___ads___googleads___v4___enums___product_channel_pb2___ProductChannelEnum,
)
from google.ads.google_ads.v4.proto.enums.product_condition_pb2 import (
    ProductConditionEnum as google___ads___googleads___v4___enums___product_condition_pb2___ProductConditionEnum,
)
from google.ads.google_ads.v4.proto.enums.product_custom_attribute_index_pb2 import (
    ProductCustomAttributeIndexEnum as google___ads___googleads___v4___enums___product_custom_attribute_index_pb2___ProductCustomAttributeIndexEnum,
)
from google.ads.google_ads.v4.proto.enums.product_type_level_pb2 import (
    ProductTypeLevelEnum as google___ads___googleads___v4___enums___product_type_level_pb2___ProductTypeLevelEnum,
)
from google.ads.google_ads.v4.proto.enums.proximity_radius_units_pb2 import (
    ProximityRadiusUnitsEnum as google___ads___googleads___v4___enums___proximity_radius_units_pb2___ProximityRadiusUnitsEnum,
)
from google.ads.google_ads.v4.proto.enums.webpage_condition_operand_pb2 import (
    WebpageConditionOperandEnum as google___ads___googleads___v4___enums___webpage_condition_operand_pb2___WebpageConditionOperandEnum,
)
from google.ads.google_ads.v4.proto.enums.webpage_condition_operator_pb2 import (
    WebpageConditionOperatorEnum as google___ads___googleads___v4___enums___webpage_condition_operator_pb2___WebpageConditionOperatorEnum,
)

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

DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...

class KeywordInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    match_type: google___ads___googleads___v4___enums___keyword_match_type_pb2___KeywordMatchTypeEnum.KeywordMatchTypeValue = ...
    @property
    def text(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        text: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        match_type: typing___Optional[
            google___ads___googleads___v4___enums___keyword_match_type_pb2___KeywordMatchTypeEnum.KeywordMatchTypeValue
        ] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["text", b"text"]
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "match_type", b"match_type", "text", b"text"
        ],
    ) -> None: ...

type___KeywordInfo = KeywordInfo

class PlacementInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def url(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        url: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["url", b"url"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["url", b"url"]
    ) -> None: ...

type___PlacementInfo = PlacementInfo

class MobileAppCategoryInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def mobile_app_category_constant(
        self,
    ) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        mobile_app_category_constant: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "mobile_app_category_constant", b"mobile_app_category_constant"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "mobile_app_category_constant", b"mobile_app_category_constant"
        ],
    ) -> None: ...

type___MobileAppCategoryInfo = MobileAppCategoryInfo

class MobileApplicationInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def app_id(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def name(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        app_id: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        name: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal["app_id", b"app_id", "name", b"name"],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal["app_id", b"app_id", "name", b"name"],
    ) -> None: ...

type___MobileApplicationInfo = MobileApplicationInfo

class LocationInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def geo_target_constant(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        geo_target_constant: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "geo_target_constant", b"geo_target_constant"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "geo_target_constant", b"geo_target_constant"
        ],
    ) -> None: ...

type___LocationInfo = LocationInfo

class DeviceInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type: google___ads___googleads___v4___enums___device_pb2___DeviceEnum.DeviceValue = ...
    def __init__(
        self,
        *,
        type: typing___Optional[
            google___ads___googleads___v4___enums___device_pb2___DeviceEnum.DeviceValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["type", b"type"]
    ) -> None: ...

type___DeviceInfo = DeviceInfo

class PreferredContentInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type: google___ads___googleads___v4___enums___preferred_content_type_pb2___PreferredContentTypeEnum.PreferredContentTypeValue = ...
    def __init__(
        self,
        *,
        type: typing___Optional[
            google___ads___googleads___v4___enums___preferred_content_type_pb2___PreferredContentTypeEnum.PreferredContentTypeValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["type", b"type"]
    ) -> None: ...

type___PreferredContentInfo = PreferredContentInfo

class ListingGroupInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type: google___ads___googleads___v4___enums___listing_group_type_pb2___ListingGroupTypeEnum.ListingGroupTypeValue = ...
    @property
    def case_value(self) -> type___ListingDimensionInfo: ...
    @property
    def parent_ad_group_criterion(
        self,
    ) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        type: typing___Optional[
            google___ads___googleads___v4___enums___listing_group_type_pb2___ListingGroupTypeEnum.ListingGroupTypeValue
        ] = None,
        case_value: typing___Optional[type___ListingDimensionInfo] = None,
        parent_ad_group_criterion: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "case_value",
            b"case_value",
            "parent_ad_group_criterion",
            b"parent_ad_group_criterion",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "case_value",
            b"case_value",
            "parent_ad_group_criterion",
            b"parent_ad_group_criterion",
            "type",
            b"type",
        ],
    ) -> None: ...

type___ListingGroupInfo = ListingGroupInfo

class ListingScopeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def dimensions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        type___ListingDimensionInfo
    ]: ...
    def __init__(
        self,
        *,
        dimensions: typing___Optional[
            typing___Iterable[type___ListingDimensionInfo]
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["dimensions", b"dimensions"]
    ) -> None: ...

type___ListingScopeInfo = ListingScopeInfo

class ListingDimensionInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def hotel_id(self) -> type___HotelIdInfo: ...
    @property
    def hotel_class(self) -> type___HotelClassInfo: ...
    @property
    def hotel_country_region(self) -> type___HotelCountryRegionInfo: ...
    @property
    def hotel_state(self) -> type___HotelStateInfo: ...
    @property
    def hotel_city(self) -> type___HotelCityInfo: ...
    @property
    def product_bidding_category(self) -> type___ProductBiddingCategoryInfo: ...
    @property
    def product_brand(self) -> type___ProductBrandInfo: ...
    @property
    def product_channel(self) -> type___ProductChannelInfo: ...
    @property
    def product_channel_exclusivity(self) -> type___ProductChannelExclusivityInfo: ...
    @property
    def product_condition(self) -> type___ProductConditionInfo: ...
    @property
    def product_custom_attribute(self) -> type___ProductCustomAttributeInfo: ...
    @property
    def product_item_id(self) -> type___ProductItemIdInfo: ...
    @property
    def product_type(self) -> type___ProductTypeInfo: ...
    @property
    def unknown_listing_dimension(self) -> type___UnknownListingDimensionInfo: ...
    def __init__(
        self,
        *,
        hotel_id: typing___Optional[type___HotelIdInfo] = None,
        hotel_class: typing___Optional[type___HotelClassInfo] = None,
        hotel_country_region: typing___Optional[type___HotelCountryRegionInfo] = None,
        hotel_state: typing___Optional[type___HotelStateInfo] = None,
        hotel_city: typing___Optional[type___HotelCityInfo] = None,
        product_bidding_category: typing___Optional[
            type___ProductBiddingCategoryInfo
        ] = None,
        product_brand: typing___Optional[type___ProductBrandInfo] = None,
        product_channel: typing___Optional[type___ProductChannelInfo] = None,
        product_channel_exclusivity: typing___Optional[
            type___ProductChannelExclusivityInfo
        ] = None,
        product_condition: typing___Optional[type___ProductConditionInfo] = None,
        product_custom_attribute: typing___Optional[
            type___ProductCustomAttributeInfo
        ] = None,
        product_item_id: typing___Optional[type___ProductItemIdInfo] = None,
        product_type: typing___Optional[type___ProductTypeInfo] = None,
        unknown_listing_dimension: typing___Optional[
            type___UnknownListingDimensionInfo
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "dimension",
            b"dimension",
            "hotel_city",
            b"hotel_city",
            "hotel_class",
            b"hotel_class",
            "hotel_country_region",
            b"hotel_country_region",
            "hotel_id",
            b"hotel_id",
            "hotel_state",
            b"hotel_state",
            "product_bidding_category",
            b"product_bidding_category",
            "product_brand",
            b"product_brand",
            "product_channel",
            b"product_channel",
            "product_channel_exclusivity",
            b"product_channel_exclusivity",
            "product_condition",
            b"product_condition",
            "product_custom_attribute",
            b"product_custom_attribute",
            "product_item_id",
            b"product_item_id",
            "product_type",
            b"product_type",
            "unknown_listing_dimension",
            b"unknown_listing_dimension",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "dimension",
            b"dimension",
            "hotel_city",
            b"hotel_city",
            "hotel_class",
            b"hotel_class",
            "hotel_country_region",
            b"hotel_country_region",
            "hotel_id",
            b"hotel_id",
            "hotel_state",
            b"hotel_state",
            "product_bidding_category",
            b"product_bidding_category",
            "product_brand",
            b"product_brand",
            "product_channel",
            b"product_channel",
            "product_channel_exclusivity",
            b"product_channel_exclusivity",
            "product_condition",
            b"product_condition",
            "product_custom_attribute",
            b"product_custom_attribute",
            "product_item_id",
            b"product_item_id",
            "product_type",
            b"product_type",
            "unknown_listing_dimension",
            b"unknown_listing_dimension",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["dimension", b"dimension"]
    ) -> typing_extensions___Literal[
        "hotel_id",
        "hotel_class",
        "hotel_country_region",
        "hotel_state",
        "hotel_city",
        "product_bidding_category",
        "product_brand",
        "product_channel",
        "product_channel_exclusivity",
        "product_condition",
        "product_custom_attribute",
        "product_item_id",
        "product_type",
        "unknown_listing_dimension",
    ]: ...

type___ListingDimensionInfo = ListingDimensionInfo

class HotelIdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def value(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        value: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["value", b"value"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["value", b"value"]
    ) -> None: ...

type___HotelIdInfo = HotelIdInfo

class HotelClassInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def value(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    def __init__(
        self,
        *,
        value: typing___Optional[google___protobuf___wrappers_pb2___Int64Value] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["value", b"value"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["value", b"value"]
    ) -> None: ...

type___HotelClassInfo = HotelClassInfo

class HotelCountryRegionInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def country_region_criterion(
        self,
    ) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        country_region_criterion: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "country_region_criterion", b"country_region_criterion"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "country_region_criterion", b"country_region_criterion"
        ],
    ) -> None: ...

type___HotelCountryRegionInfo = HotelCountryRegionInfo

class HotelStateInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def state_criterion(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        state_criterion: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal["state_criterion", b"state_criterion"],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal["state_criterion", b"state_criterion"],
    ) -> None: ...

type___HotelStateInfo = HotelStateInfo

class HotelCityInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def city_criterion(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        city_criterion: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal["city_criterion", b"city_criterion"],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal["city_criterion", b"city_criterion"],
    ) -> None: ...

type___HotelCityInfo = HotelCityInfo

class ProductBiddingCategoryInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    level: google___ads___googleads___v4___enums___product_bidding_category_level_pb2___ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevelValue = ...
    @property
    def id(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    @property
    def country_code(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        id: typing___Optional[google___protobuf___wrappers_pb2___Int64Value] = None,
        country_code: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        level: typing___Optional[
            google___ads___googleads___v4___enums___product_bidding_category_level_pb2___ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevelValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "country_code", b"country_code", "id", b"id"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "country_code", b"country_code", "id", b"id", "level", b"level"
        ],
    ) -> None: ...

type___ProductBiddingCategoryInfo = ProductBiddingCategoryInfo

class ProductBrandInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def value(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        value: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["value", b"value"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["value", b"value"]
    ) -> None: ...

type___ProductBrandInfo = ProductBrandInfo

class ProductChannelInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    channel: google___ads___googleads___v4___enums___product_channel_pb2___ProductChannelEnum.ProductChannelValue = ...
    def __init__(
        self,
        *,
        channel: typing___Optional[
            google___ads___googleads___v4___enums___product_channel_pb2___ProductChannelEnum.ProductChannelValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["channel", b"channel"]
    ) -> None: ...

type___ProductChannelInfo = ProductChannelInfo

class ProductChannelExclusivityInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    channel_exclusivity: google___ads___googleads___v4___enums___product_channel_exclusivity_pb2___ProductChannelExclusivityEnum.ProductChannelExclusivityValue = ...
    def __init__(
        self,
        *,
        channel_exclusivity: typing___Optional[
            google___ads___googleads___v4___enums___product_channel_exclusivity_pb2___ProductChannelExclusivityEnum.ProductChannelExclusivityValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "channel_exclusivity", b"channel_exclusivity"
        ],
    ) -> None: ...

type___ProductChannelExclusivityInfo = ProductChannelExclusivityInfo

class ProductConditionInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    condition: google___ads___googleads___v4___enums___product_condition_pb2___ProductConditionEnum.ProductConditionValue = ...
    def __init__(
        self,
        *,
        condition: typing___Optional[
            google___ads___googleads___v4___enums___product_condition_pb2___ProductConditionEnum.ProductConditionValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["condition", b"condition"]
    ) -> None: ...

type___ProductConditionInfo = ProductConditionInfo

class ProductCustomAttributeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    index: google___ads___googleads___v4___enums___product_custom_attribute_index_pb2___ProductCustomAttributeIndexEnum.ProductCustomAttributeIndexValue = ...
    @property
    def value(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        value: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        index: typing___Optional[
            google___ads___googleads___v4___enums___product_custom_attribute_index_pb2___ProductCustomAttributeIndexEnum.ProductCustomAttributeIndexValue
        ] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["value", b"value"]
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal["index", b"index", "value", b"value"],
    ) -> None: ...

type___ProductCustomAttributeInfo = ProductCustomAttributeInfo

class ProductItemIdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def value(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        value: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["value", b"value"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["value", b"value"]
    ) -> None: ...

type___ProductItemIdInfo = ProductItemIdInfo

class ProductTypeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    level: google___ads___googleads___v4___enums___product_type_level_pb2___ProductTypeLevelEnum.ProductTypeLevelValue = ...
    @property
    def value(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        value: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        level: typing___Optional[
            google___ads___googleads___v4___enums___product_type_level_pb2___ProductTypeLevelEnum.ProductTypeLevelValue
        ] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["value", b"value"]
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal["level", b"level", "value", b"value"],
    ) -> None: ...

type___ProductTypeInfo = ProductTypeInfo

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

type___UnknownListingDimensionInfo = UnknownListingDimensionInfo

class HotelDateSelectionTypeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type: google___ads___googleads___v4___enums___hotel_date_selection_type_pb2___HotelDateSelectionTypeEnum.HotelDateSelectionTypeValue = ...
    def __init__(
        self,
        *,
        type: typing___Optional[
            google___ads___googleads___v4___enums___hotel_date_selection_type_pb2___HotelDateSelectionTypeEnum.HotelDateSelectionTypeValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["type", b"type"]
    ) -> None: ...

type___HotelDateSelectionTypeInfo = HotelDateSelectionTypeInfo

class HotelAdvanceBookingWindowInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def min_days(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    @property
    def max_days(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    def __init__(
        self,
        *,
        min_days: typing___Optional[
            google___protobuf___wrappers_pb2___Int64Value
        ] = None,
        max_days: typing___Optional[
            google___protobuf___wrappers_pb2___Int64Value
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "max_days", b"max_days", "min_days", b"min_days"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "max_days", b"max_days", "min_days", b"min_days"
        ],
    ) -> None: ...

type___HotelAdvanceBookingWindowInfo = HotelAdvanceBookingWindowInfo

class HotelLengthOfStayInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def min_nights(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    @property
    def max_nights(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    def __init__(
        self,
        *,
        min_nights: typing___Optional[
            google___protobuf___wrappers_pb2___Int64Value
        ] = None,
        max_nights: typing___Optional[
            google___protobuf___wrappers_pb2___Int64Value
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "max_nights", b"max_nights", "min_nights", b"min_nights"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "max_nights", b"max_nights", "min_nights", b"min_nights"
        ],
    ) -> None: ...

type___HotelLengthOfStayInfo = HotelLengthOfStayInfo

class HotelCheckInDayInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    day_of_week: google___ads___googleads___v4___enums___day_of_week_pb2___DayOfWeekEnum.DayOfWeekValue = ...
    def __init__(
        self,
        *,
        day_of_week: typing___Optional[
            google___ads___googleads___v4___enums___day_of_week_pb2___DayOfWeekEnum.DayOfWeekValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["day_of_week", b"day_of_week"]
    ) -> None: ...

type___HotelCheckInDayInfo = HotelCheckInDayInfo

class InteractionTypeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type: google___ads___googleads___v4___enums___interaction_type_pb2___InteractionTypeEnum.InteractionTypeValue = ...
    def __init__(
        self,
        *,
        type: typing___Optional[
            google___ads___googleads___v4___enums___interaction_type_pb2___InteractionTypeEnum.InteractionTypeValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["type", b"type"]
    ) -> None: ...

type___InteractionTypeInfo = InteractionTypeInfo

class AdScheduleInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    start_minute: google___ads___googleads___v4___enums___minute_of_hour_pb2___MinuteOfHourEnum.MinuteOfHourValue = ...
    end_minute: google___ads___googleads___v4___enums___minute_of_hour_pb2___MinuteOfHourEnum.MinuteOfHourValue = ...
    day_of_week: google___ads___googleads___v4___enums___day_of_week_pb2___DayOfWeekEnum.DayOfWeekValue = ...
    @property
    def start_hour(self) -> google___protobuf___wrappers_pb2___Int32Value: ...
    @property
    def end_hour(self) -> google___protobuf___wrappers_pb2___Int32Value: ...
    def __init__(
        self,
        *,
        start_minute: typing___Optional[
            google___ads___googleads___v4___enums___minute_of_hour_pb2___MinuteOfHourEnum.MinuteOfHourValue
        ] = None,
        end_minute: typing___Optional[
            google___ads___googleads___v4___enums___minute_of_hour_pb2___MinuteOfHourEnum.MinuteOfHourValue
        ] = None,
        start_hour: typing___Optional[
            google___protobuf___wrappers_pb2___Int32Value
        ] = None,
        end_hour: typing___Optional[
            google___protobuf___wrappers_pb2___Int32Value
        ] = None,
        day_of_week: typing___Optional[
            google___ads___googleads___v4___enums___day_of_week_pb2___DayOfWeekEnum.DayOfWeekValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "end_hour", b"end_hour", "start_hour", b"start_hour"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "day_of_week",
            b"day_of_week",
            "end_hour",
            b"end_hour",
            "end_minute",
            b"end_minute",
            "start_hour",
            b"start_hour",
            "start_minute",
            b"start_minute",
        ],
    ) -> None: ...

type___AdScheduleInfo = AdScheduleInfo

class AgeRangeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type: google___ads___googleads___v4___enums___age_range_type_pb2___AgeRangeTypeEnum.AgeRangeTypeValue = ...
    def __init__(
        self,
        *,
        type: typing___Optional[
            google___ads___googleads___v4___enums___age_range_type_pb2___AgeRangeTypeEnum.AgeRangeTypeValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["type", b"type"]
    ) -> None: ...

type___AgeRangeInfo = AgeRangeInfo

class GenderInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type: google___ads___googleads___v4___enums___gender_type_pb2___GenderTypeEnum.GenderTypeValue = ...
    def __init__(
        self,
        *,
        type: typing___Optional[
            google___ads___googleads___v4___enums___gender_type_pb2___GenderTypeEnum.GenderTypeValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["type", b"type"]
    ) -> None: ...

type___GenderInfo = GenderInfo

class IncomeRangeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type: google___ads___googleads___v4___enums___income_range_type_pb2___IncomeRangeTypeEnum.IncomeRangeTypeValue = ...
    def __init__(
        self,
        *,
        type: typing___Optional[
            google___ads___googleads___v4___enums___income_range_type_pb2___IncomeRangeTypeEnum.IncomeRangeTypeValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["type", b"type"]
    ) -> None: ...

type___IncomeRangeInfo = IncomeRangeInfo

class ParentalStatusInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type: google___ads___googleads___v4___enums___parental_status_type_pb2___ParentalStatusTypeEnum.ParentalStatusTypeValue = ...
    def __init__(
        self,
        *,
        type: typing___Optional[
            google___ads___googleads___v4___enums___parental_status_type_pb2___ParentalStatusTypeEnum.ParentalStatusTypeValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["type", b"type"]
    ) -> None: ...

type___ParentalStatusInfo = ParentalStatusInfo

class YouTubeVideoInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def video_id(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        video_id: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["video_id", b"video_id"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["video_id", b"video_id"]
    ) -> None: ...

type___YouTubeVideoInfo = YouTubeVideoInfo

class YouTubeChannelInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def channel_id(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        channel_id: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["channel_id", b"channel_id"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["channel_id", b"channel_id"]
    ) -> None: ...

type___YouTubeChannelInfo = YouTubeChannelInfo

class UserListInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def user_list(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        user_list: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["user_list", b"user_list"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["user_list", b"user_list"]
    ) -> None: ...

type___UserListInfo = UserListInfo

class ProximityInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    radius_units: google___ads___googleads___v4___enums___proximity_radius_units_pb2___ProximityRadiusUnitsEnum.ProximityRadiusUnitsValue = ...
    @property
    def geo_point(self) -> type___GeoPointInfo: ...
    @property
    def radius(self) -> google___protobuf___wrappers_pb2___DoubleValue: ...
    @property
    def address(self) -> type___AddressInfo: ...
    def __init__(
        self,
        *,
        geo_point: typing___Optional[type___GeoPointInfo] = None,
        radius: typing___Optional[
            google___protobuf___wrappers_pb2___DoubleValue
        ] = None,
        radius_units: typing___Optional[
            google___ads___googleads___v4___enums___proximity_radius_units_pb2___ProximityRadiusUnitsEnum.ProximityRadiusUnitsValue
        ] = None,
        address: typing___Optional[type___AddressInfo] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "address", b"address", "geo_point", b"geo_point", "radius", b"radius"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "address",
            b"address",
            "geo_point",
            b"geo_point",
            "radius",
            b"radius",
            "radius_units",
            b"radius_units",
        ],
    ) -> None: ...

type___ProximityInfo = ProximityInfo

class GeoPointInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def longitude_in_micro_degrees(
        self,
    ) -> google___protobuf___wrappers_pb2___Int32Value: ...
    @property
    def latitude_in_micro_degrees(
        self,
    ) -> google___protobuf___wrappers_pb2___Int32Value: ...
    def __init__(
        self,
        *,
        longitude_in_micro_degrees: typing___Optional[
            google___protobuf___wrappers_pb2___Int32Value
        ] = None,
        latitude_in_micro_degrees: typing___Optional[
            google___protobuf___wrappers_pb2___Int32Value
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "latitude_in_micro_degrees",
            b"latitude_in_micro_degrees",
            "longitude_in_micro_degrees",
            b"longitude_in_micro_degrees",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "latitude_in_micro_degrees",
            b"latitude_in_micro_degrees",
            "longitude_in_micro_degrees",
            b"longitude_in_micro_degrees",
        ],
    ) -> None: ...

type___GeoPointInfo = GeoPointInfo

class AddressInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def postal_code(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def province_code(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def country_code(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def province_name(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def street_address(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def street_address2(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def city_name(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        postal_code: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        province_code: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        country_code: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        province_name: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        street_address: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        street_address2: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        city_name: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "city_name",
            b"city_name",
            "country_code",
            b"country_code",
            "postal_code",
            b"postal_code",
            "province_code",
            b"province_code",
            "province_name",
            b"province_name",
            "street_address",
            b"street_address",
            "street_address2",
            b"street_address2",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "city_name",
            b"city_name",
            "country_code",
            b"country_code",
            "postal_code",
            b"postal_code",
            "province_code",
            b"province_code",
            "province_name",
            b"province_name",
            "street_address",
            b"street_address",
            "street_address2",
            b"street_address2",
        ],
    ) -> None: ...

type___AddressInfo = AddressInfo

class TopicInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def topic_constant(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def path(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___protobuf___wrappers_pb2___StringValue
    ]: ...
    def __init__(
        self,
        *,
        topic_constant: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        path: typing___Optional[
            typing___Iterable[google___protobuf___wrappers_pb2___StringValue]
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal["topic_constant", b"topic_constant"],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "path", b"path", "topic_constant", b"topic_constant"
        ],
    ) -> None: ...

type___TopicInfo = TopicInfo

class LanguageInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def language_constant(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        language_constant: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "language_constant", b"language_constant"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "language_constant", b"language_constant"
        ],
    ) -> None: ...

type___LanguageInfo = LanguageInfo

class IpBlockInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def ip_address(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        ip_address: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["ip_address", b"ip_address"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["ip_address", b"ip_address"]
    ) -> None: ...

type___IpBlockInfo = IpBlockInfo

class ContentLabelInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type: google___ads___googleads___v4___enums___content_label_type_pb2___ContentLabelTypeEnum.ContentLabelTypeValue = ...
    def __init__(
        self,
        *,
        type: typing___Optional[
            google___ads___googleads___v4___enums___content_label_type_pb2___ContentLabelTypeEnum.ContentLabelTypeValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["type", b"type"]
    ) -> None: ...

type___ContentLabelInfo = ContentLabelInfo

class CarrierInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def carrier_constant(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        carrier_constant: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "carrier_constant", b"carrier_constant"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "carrier_constant", b"carrier_constant"
        ],
    ) -> None: ...

type___CarrierInfo = CarrierInfo

class UserInterestInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def user_interest_category(
        self,
    ) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        user_interest_category: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "user_interest_category", b"user_interest_category"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "user_interest_category", b"user_interest_category"
        ],
    ) -> None: ...

type___UserInterestInfo = UserInterestInfo

class WebpageInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def criterion_name(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def conditions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        type___WebpageConditionInfo
    ]: ...
    def __init__(
        self,
        *,
        criterion_name: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        conditions: typing___Optional[
            typing___Iterable[type___WebpageConditionInfo]
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal["criterion_name", b"criterion_name"],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "conditions", b"conditions", "criterion_name", b"criterion_name"
        ],
    ) -> None: ...

type___WebpageInfo = WebpageInfo

class WebpageConditionInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    operand: google___ads___googleads___v4___enums___webpage_condition_operand_pb2___WebpageConditionOperandEnum.WebpageConditionOperandValue = ...
    operator: google___ads___googleads___v4___enums___webpage_condition_operator_pb2___WebpageConditionOperatorEnum.WebpageConditionOperatorValue = ...
    @property
    def argument(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        operand: typing___Optional[
            google___ads___googleads___v4___enums___webpage_condition_operand_pb2___WebpageConditionOperandEnum.WebpageConditionOperandValue
        ] = None,
        operator: typing___Optional[
            google___ads___googleads___v4___enums___webpage_condition_operator_pb2___WebpageConditionOperatorEnum.WebpageConditionOperatorValue
        ] = None,
        argument: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["argument", b"argument"]
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "argument", b"argument", "operand", b"operand", "operator", b"operator"
        ],
    ) -> None: ...

type___WebpageConditionInfo = WebpageConditionInfo

class OperatingSystemVersionInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def operating_system_version_constant(
        self,
    ) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        operating_system_version_constant: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "operating_system_version_constant", b"operating_system_version_constant"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "operating_system_version_constant", b"operating_system_version_constant"
        ],
    ) -> None: ...

type___OperatingSystemVersionInfo = OperatingSystemVersionInfo

class AppPaymentModelInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type: google___ads___googleads___v4___enums___app_payment_model_type_pb2___AppPaymentModelTypeEnum.AppPaymentModelTypeValue = ...
    def __init__(
        self,
        *,
        type: typing___Optional[
            google___ads___googleads___v4___enums___app_payment_model_type_pb2___AppPaymentModelTypeEnum.AppPaymentModelTypeValue
        ] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["type", b"type"]
    ) -> None: ...

type___AppPaymentModelInfo = AppPaymentModelInfo

class MobileDeviceInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def mobile_device_constant(
        self,
    ) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        mobile_device_constant: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "mobile_device_constant", b"mobile_device_constant"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "mobile_device_constant", b"mobile_device_constant"
        ],
    ) -> None: ...

type___MobileDeviceInfo = MobileDeviceInfo

class CustomAffinityInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def custom_affinity(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        custom_affinity: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal["custom_affinity", b"custom_affinity"],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal["custom_affinity", b"custom_affinity"],
    ) -> None: ...

type___CustomAffinityInfo = CustomAffinityInfo

class CustomIntentInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def custom_intent(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        custom_intent: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["custom_intent", b"custom_intent"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["custom_intent", b"custom_intent"]
    ) -> None: ...

type___CustomIntentInfo = CustomIntentInfo

class LocationGroupInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    radius_units: google___ads___googleads___v4___enums___location_group_radius_units_pb2___LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnitsValue = ...
    @property
    def feed(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def geo_target_constants(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___protobuf___wrappers_pb2___StringValue
    ]: ...
    @property
    def radius(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    def __init__(
        self,
        *,
        feed: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        geo_target_constants: typing___Optional[
            typing___Iterable[google___protobuf___wrappers_pb2___StringValue]
        ] = None,
        radius: typing___Optional[google___protobuf___wrappers_pb2___Int64Value] = None,
        radius_units: typing___Optional[
            google___ads___googleads___v4___enums___location_group_radius_units_pb2___LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnitsValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal["feed", b"feed", "radius", b"radius"],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "feed",
            b"feed",
            "geo_target_constants",
            b"geo_target_constants",
            "radius",
            b"radius",
            "radius_units",
            b"radius_units",
        ],
    ) -> None: ...

type___LocationGroupInfo = LocationGroupInfo
