# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.ads.google_ads.v2.proto.enums.age_range_type_pb2 import (
    AgeRangeTypeEnum as google___ads___googleads___v2___enums___age_range_type_pb2___AgeRangeTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.app_payment_model_type_pb2 import (
    AppPaymentModelTypeEnum as google___ads___googleads___v2___enums___app_payment_model_type_pb2___AppPaymentModelTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.content_label_type_pb2 import (
    ContentLabelTypeEnum as google___ads___googleads___v2___enums___content_label_type_pb2___ContentLabelTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.day_of_week_pb2 import (
    DayOfWeekEnum as google___ads___googleads___v2___enums___day_of_week_pb2___DayOfWeekEnum,
)

from google.ads.google_ads.v2.proto.enums.device_pb2 import (
    DeviceEnum as google___ads___googleads___v2___enums___device_pb2___DeviceEnum,
)

from google.ads.google_ads.v2.proto.enums.gender_type_pb2 import (
    GenderTypeEnum as google___ads___googleads___v2___enums___gender_type_pb2___GenderTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.hotel_date_selection_type_pb2 import (
    HotelDateSelectionTypeEnum as google___ads___googleads___v2___enums___hotel_date_selection_type_pb2___HotelDateSelectionTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.income_range_type_pb2 import (
    IncomeRangeTypeEnum as google___ads___googleads___v2___enums___income_range_type_pb2___IncomeRangeTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.interaction_type_pb2 import (
    InteractionTypeEnum as google___ads___googleads___v2___enums___interaction_type_pb2___InteractionTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.keyword_match_type_pb2 import (
    KeywordMatchTypeEnum as google___ads___googleads___v2___enums___keyword_match_type_pb2___KeywordMatchTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.listing_custom_attribute_index_pb2 import (
    ListingCustomAttributeIndexEnum as google___ads___googleads___v2___enums___listing_custom_attribute_index_pb2___ListingCustomAttributeIndexEnum,
)

from google.ads.google_ads.v2.proto.enums.listing_group_type_pb2 import (
    ListingGroupTypeEnum as google___ads___googleads___v2___enums___listing_group_type_pb2___ListingGroupTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.location_group_radius_units_pb2 import (
    LocationGroupRadiusUnitsEnum as google___ads___googleads___v2___enums___location_group_radius_units_pb2___LocationGroupRadiusUnitsEnum,
)

from google.ads.google_ads.v2.proto.enums.minute_of_hour_pb2 import (
    MinuteOfHourEnum as google___ads___googleads___v2___enums___minute_of_hour_pb2___MinuteOfHourEnum,
)

from google.ads.google_ads.v2.proto.enums.parental_status_type_pb2 import (
    ParentalStatusTypeEnum as google___ads___googleads___v2___enums___parental_status_type_pb2___ParentalStatusTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.preferred_content_type_pb2 import (
    PreferredContentTypeEnum as google___ads___googleads___v2___enums___preferred_content_type_pb2___PreferredContentTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.product_bidding_category_level_pb2 import (
    ProductBiddingCategoryLevelEnum as google___ads___googleads___v2___enums___product_bidding_category_level_pb2___ProductBiddingCategoryLevelEnum,
)

from google.ads.google_ads.v2.proto.enums.product_channel_exclusivity_pb2 import (
    ProductChannelExclusivityEnum as google___ads___googleads___v2___enums___product_channel_exclusivity_pb2___ProductChannelExclusivityEnum,
)

from google.ads.google_ads.v2.proto.enums.product_channel_pb2 import (
    ProductChannelEnum as google___ads___googleads___v2___enums___product_channel_pb2___ProductChannelEnum,
)

from google.ads.google_ads.v2.proto.enums.product_condition_pb2 import (
    ProductConditionEnum as google___ads___googleads___v2___enums___product_condition_pb2___ProductConditionEnum,
)

from google.ads.google_ads.v2.proto.enums.product_type_level_pb2 import (
    ProductTypeLevelEnum as google___ads___googleads___v2___enums___product_type_level_pb2___ProductTypeLevelEnum,
)

from google.ads.google_ads.v2.proto.enums.proximity_radius_units_pb2 import (
    ProximityRadiusUnitsEnum as google___ads___googleads___v2___enums___proximity_radius_units_pb2___ProximityRadiusUnitsEnum,
)

from google.ads.google_ads.v2.proto.enums.webpage_condition_operand_pb2 import (
    WebpageConditionOperandEnum as google___ads___googleads___v2___enums___webpage_condition_operand_pb2___WebpageConditionOperandEnum,
)

from google.ads.google_ads.v2.proto.enums.webpage_condition_operator_pb2 import (
    WebpageConditionOperatorEnum as google___ads___googleads___v2___enums___webpage_condition_operator_pb2___WebpageConditionOperatorEnum,
)

from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
)

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 import (
    Iterable as typing___Iterable,
    Optional as typing___Optional,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


class KeywordInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    match_type = ... # type: google___ads___googleads___v2___enums___keyword_match_type_pb2___KeywordMatchTypeEnum.KeywordMatchType

    @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___v2___enums___keyword_match_type_pb2___KeywordMatchTypeEnum.KeywordMatchType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> KeywordInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"text"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"match_type",u"text"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"text",b"text"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"match_type",b"match_type",u"text",b"text"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> PlacementInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"url"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"url"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"url",b"url"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"url",b"url"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> MobileAppCategoryInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"mobile_app_category_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"mobile_app_category_constant"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"mobile_app_category_constant",b"mobile_app_category_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"mobile_app_category_constant",b"mobile_app_category_constant"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> MobileApplicationInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"app_id",u"name"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"app_id",u"name"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"app_id",b"app_id",u"name",b"name"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"app_id",b"app_id",u"name",b"name"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> LocationInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"geo_target_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"geo_target_constant"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"geo_target_constant",b"geo_target_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"geo_target_constant",b"geo_target_constant"]) -> None: ...

class DeviceInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type = ... # type: google___ads___googleads___v2___enums___device_pb2___DeviceEnum.Device

    def __init__(self,
        *,
        type : typing___Optional[google___ads___googleads___v2___enums___device_pb2___DeviceEnum.Device] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"type"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"type",b"type"]) -> None: ...

class PreferredContentInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type = ... # type: google___ads___googleads___v2___enums___preferred_content_type_pb2___PreferredContentTypeEnum.PreferredContentType

    def __init__(self,
        *,
        type : typing___Optional[google___ads___googleads___v2___enums___preferred_content_type_pb2___PreferredContentTypeEnum.PreferredContentType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> PreferredContentInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"type"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"type",b"type"]) -> None: ...

class ListingGroupInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type = ... # type: google___ads___googleads___v2___enums___listing_group_type_pb2___ListingGroupTypeEnum.ListingGroupType

    @property
    def case_value(self) -> ListingDimensionInfo: ...

    @property
    def parent_ad_group_criterion(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    def __init__(self,
        *,
        type : typing___Optional[google___ads___googleads___v2___enums___listing_group_type_pb2___ListingGroupTypeEnum.ListingGroupType] = None,
        case_value : typing___Optional[ListingDimensionInfo] = None,
        parent_ad_group_criterion : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ListingGroupInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"case_value",u"parent_ad_group_criterion"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"case_value",u"parent_ad_group_criterion",u"type"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"case_value",b"case_value",u"parent_ad_group_criterion",b"parent_ad_group_criterion"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"case_value",b"case_value",u"parent_ad_group_criterion",b"parent_ad_group_criterion",u"type",b"type"]) -> None: ...

class ListingScopeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def dimensions(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[ListingDimensionInfo]: ...

    def __init__(self,
        *,
        dimensions : typing___Optional[typing___Iterable[ListingDimensionInfo]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ListingScopeInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"dimensions"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"dimensions",b"dimensions"]) -> None: ...

class ListingDimensionInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def listing_brand(self) -> ListingBrandInfo: ...

    @property
    def hotel_id(self) -> HotelIdInfo: ...

    @property
    def hotel_class(self) -> HotelClassInfo: ...

    @property
    def hotel_country_region(self) -> HotelCountryRegionInfo: ...

    @property
    def hotel_state(self) -> HotelStateInfo: ...

    @property
    def hotel_city(self) -> HotelCityInfo: ...

    @property
    def listing_custom_attribute(self) -> ListingCustomAttributeInfo: ...

    @property
    def product_bidding_category(self) -> ProductBiddingCategoryInfo: ...

    @property
    def product_channel(self) -> ProductChannelInfo: ...

    @property
    def product_channel_exclusivity(self) -> ProductChannelExclusivityInfo: ...

    @property
    def product_condition(self) -> ProductConditionInfo: ...

    @property
    def product_item_id(self) -> ProductItemIdInfo: ...

    @property
    def product_type(self) -> ProductTypeInfo: ...

    @property
    def unknown_listing_dimension(self) -> UnknownListingDimensionInfo: ...

    def __init__(self,
        *,
        listing_brand : typing___Optional[ListingBrandInfo] = None,
        hotel_id : typing___Optional[HotelIdInfo] = None,
        hotel_class : typing___Optional[HotelClassInfo] = None,
        hotel_country_region : typing___Optional[HotelCountryRegionInfo] = None,
        hotel_state : typing___Optional[HotelStateInfo] = None,
        hotel_city : typing___Optional[HotelCityInfo] = None,
        listing_custom_attribute : typing___Optional[ListingCustomAttributeInfo] = None,
        product_bidding_category : typing___Optional[ProductBiddingCategoryInfo] = None,
        product_channel : typing___Optional[ProductChannelInfo] = None,
        product_channel_exclusivity : typing___Optional[ProductChannelExclusivityInfo] = None,
        product_condition : typing___Optional[ProductConditionInfo] = None,
        product_item_id : typing___Optional[ProductItemIdInfo] = None,
        product_type : typing___Optional[ProductTypeInfo] = None,
        unknown_listing_dimension : typing___Optional[UnknownListingDimensionInfo] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ListingDimensionInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"dimension",u"hotel_city",u"hotel_class",u"hotel_country_region",u"hotel_id",u"hotel_state",u"listing_brand",u"listing_custom_attribute",u"product_bidding_category",u"product_channel",u"product_channel_exclusivity",u"product_condition",u"product_item_id",u"product_type",u"unknown_listing_dimension"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"dimension",u"hotel_city",u"hotel_class",u"hotel_country_region",u"hotel_id",u"hotel_state",u"listing_brand",u"listing_custom_attribute",u"product_bidding_category",u"product_channel",u"product_channel_exclusivity",u"product_condition",u"product_item_id",u"product_type",u"unknown_listing_dimension"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"dimension",b"dimension",u"hotel_city",b"hotel_city",u"hotel_class",b"hotel_class",u"hotel_country_region",b"hotel_country_region",u"hotel_id",b"hotel_id",u"hotel_state",b"hotel_state",u"listing_brand",b"listing_brand",u"listing_custom_attribute",b"listing_custom_attribute",u"product_bidding_category",b"product_bidding_category",u"product_channel",b"product_channel",u"product_channel_exclusivity",b"product_channel_exclusivity",u"product_condition",b"product_condition",u"product_item_id",b"product_item_id",u"product_type",b"product_type",u"unknown_listing_dimension",b"unknown_listing_dimension"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"dimension",b"dimension",u"hotel_city",b"hotel_city",u"hotel_class",b"hotel_class",u"hotel_country_region",b"hotel_country_region",u"hotel_id",b"hotel_id",u"hotel_state",b"hotel_state",u"listing_brand",b"listing_brand",u"listing_custom_attribute",b"listing_custom_attribute",u"product_bidding_category",b"product_bidding_category",u"product_channel",b"product_channel",u"product_channel_exclusivity",b"product_channel_exclusivity",u"product_condition",b"product_condition",u"product_item_id",b"product_item_id",u"product_type",b"product_type",u"unknown_listing_dimension",b"unknown_listing_dimension"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"dimension",b"dimension"]) -> typing_extensions___Literal["listing_brand","hotel_id","hotel_class","hotel_country_region","hotel_state","hotel_city","listing_custom_attribute","product_bidding_category","product_channel","product_channel_exclusivity","product_condition","product_item_id","product_type","unknown_listing_dimension"]: ...

class ListingBrandInfo(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: ...
    @classmethod
    def FromString(cls, s: bytes) -> ListingBrandInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"value"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> HotelIdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"value"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> HotelClassInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"value"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> HotelCountryRegionInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"country_region_criterion"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"country_region_criterion"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"country_region_criterion",b"country_region_criterion"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"country_region_criterion",b"country_region_criterion"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> HotelStateInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"state_criterion"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"state_criterion"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"state_criterion",b"state_criterion"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"state_criterion",b"state_criterion"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> HotelCityInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"city_criterion"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"city_criterion"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"city_criterion",b"city_criterion"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"city_criterion",b"city_criterion"]) -> None: ...

class ListingCustomAttributeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    index = ... # type: google___ads___googleads___v2___enums___listing_custom_attribute_index_pb2___ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex

    @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___v2___enums___listing_custom_attribute_index_pb2___ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ListingCustomAttributeInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"index",u"value"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"index",b"index",u"value",b"value"]) -> None: ...

class ProductBiddingCategoryInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    level = ... # type: google___ads___googleads___v2___enums___product_bidding_category_level_pb2___ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel

    @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___v2___enums___product_bidding_category_level_pb2___ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ProductBiddingCategoryInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"country_code",u"id"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"country_code",u"id",u"level"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"country_code",b"country_code",u"id",b"id"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"country_code",b"country_code",u"id",b"id",u"level",b"level"]) -> None: ...

class ProductChannelInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    channel = ... # type: google___ads___googleads___v2___enums___product_channel_pb2___ProductChannelEnum.ProductChannel

    def __init__(self,
        *,
        channel : typing___Optional[google___ads___googleads___v2___enums___product_channel_pb2___ProductChannelEnum.ProductChannel] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ProductChannelInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"channel"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"channel",b"channel"]) -> None: ...

class ProductChannelExclusivityInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    channel_exclusivity = ... # type: google___ads___googleads___v2___enums___product_channel_exclusivity_pb2___ProductChannelExclusivityEnum.ProductChannelExclusivity

    def __init__(self,
        *,
        channel_exclusivity : typing___Optional[google___ads___googleads___v2___enums___product_channel_exclusivity_pb2___ProductChannelExclusivityEnum.ProductChannelExclusivity] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ProductChannelExclusivityInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"channel_exclusivity"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"channel_exclusivity",b"channel_exclusivity"]) -> None: ...

class ProductConditionInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    condition = ... # type: google___ads___googleads___v2___enums___product_condition_pb2___ProductConditionEnum.ProductCondition

    def __init__(self,
        *,
        condition : typing___Optional[google___ads___googleads___v2___enums___product_condition_pb2___ProductConditionEnum.ProductCondition] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ProductConditionInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"condition"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"condition",b"condition"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> ProductItemIdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"value"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> None: ...

class ProductTypeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    level = ... # type: google___ads___googleads___v2___enums___product_type_level_pb2___ProductTypeLevelEnum.ProductTypeLevel

    @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___v2___enums___product_type_level_pb2___ProductTypeLevelEnum.ProductTypeLevel] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ProductTypeInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"level",u"value"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"level",b"level",u"value",b"value"]) -> None: ...

class UnknownListingDimensionInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    def __init__(self,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> UnknownListingDimensionInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class HotelDateSelectionTypeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type = ... # type: google___ads___googleads___v2___enums___hotel_date_selection_type_pb2___HotelDateSelectionTypeEnum.HotelDateSelectionType

    def __init__(self,
        *,
        type : typing___Optional[google___ads___googleads___v2___enums___hotel_date_selection_type_pb2___HotelDateSelectionTypeEnum.HotelDateSelectionType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> HotelDateSelectionTypeInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"type"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"type",b"type"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> HotelAdvanceBookingWindowInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"max_days",u"min_days"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"max_days",u"min_days"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"max_days",b"max_days",u"min_days",b"min_days"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"max_days",b"max_days",u"min_days",b"min_days"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> HotelLengthOfStayInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"max_nights",u"min_nights"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"max_nights",u"min_nights"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"max_nights",b"max_nights",u"min_nights",b"min_nights"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"max_nights",b"max_nights",u"min_nights",b"min_nights"]) -> None: ...

class HotelCheckInDayInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    day_of_week = ... # type: google___ads___googleads___v2___enums___day_of_week_pb2___DayOfWeekEnum.DayOfWeek

    def __init__(self,
        *,
        day_of_week : typing___Optional[google___ads___googleads___v2___enums___day_of_week_pb2___DayOfWeekEnum.DayOfWeek] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> HotelCheckInDayInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"day_of_week"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"day_of_week",b"day_of_week"]) -> None: ...

class InteractionTypeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type = ... # type: google___ads___googleads___v2___enums___interaction_type_pb2___InteractionTypeEnum.InteractionType

    def __init__(self,
        *,
        type : typing___Optional[google___ads___googleads___v2___enums___interaction_type_pb2___InteractionTypeEnum.InteractionType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> InteractionTypeInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"type"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"type",b"type"]) -> None: ...

class AdScheduleInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    start_minute = ... # type: google___ads___googleads___v2___enums___minute_of_hour_pb2___MinuteOfHourEnum.MinuteOfHour
    end_minute = ... # type: google___ads___googleads___v2___enums___minute_of_hour_pb2___MinuteOfHourEnum.MinuteOfHour
    day_of_week = ... # type: google___ads___googleads___v2___enums___day_of_week_pb2___DayOfWeekEnum.DayOfWeek

    @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___v2___enums___minute_of_hour_pb2___MinuteOfHourEnum.MinuteOfHour] = None,
        end_minute : typing___Optional[google___ads___googleads___v2___enums___minute_of_hour_pb2___MinuteOfHourEnum.MinuteOfHour] = 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___v2___enums___day_of_week_pb2___DayOfWeekEnum.DayOfWeek] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> AdScheduleInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"end_hour",u"start_hour"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"day_of_week",u"end_hour",u"end_minute",u"start_hour",u"start_minute"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"end_hour",b"end_hour",u"start_hour",b"start_hour"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"day_of_week",b"day_of_week",u"end_hour",b"end_hour",u"end_minute",b"end_minute",u"start_hour",b"start_hour",u"start_minute",b"start_minute"]) -> None: ...

class AgeRangeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type = ... # type: google___ads___googleads___v2___enums___age_range_type_pb2___AgeRangeTypeEnum.AgeRangeType

    def __init__(self,
        *,
        type : typing___Optional[google___ads___googleads___v2___enums___age_range_type_pb2___AgeRangeTypeEnum.AgeRangeType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> AgeRangeInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"type"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"type",b"type"]) -> None: ...

class GenderInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type = ... # type: google___ads___googleads___v2___enums___gender_type_pb2___GenderTypeEnum.GenderType

    def __init__(self,
        *,
        type : typing___Optional[google___ads___googleads___v2___enums___gender_type_pb2___GenderTypeEnum.GenderType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> GenderInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"type"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"type",b"type"]) -> None: ...

class IncomeRangeInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type = ... # type: google___ads___googleads___v2___enums___income_range_type_pb2___IncomeRangeTypeEnum.IncomeRangeType

    def __init__(self,
        *,
        type : typing___Optional[google___ads___googleads___v2___enums___income_range_type_pb2___IncomeRangeTypeEnum.IncomeRangeType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> IncomeRangeInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"type"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"type",b"type"]) -> None: ...

class ParentalStatusInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type = ... # type: google___ads___googleads___v2___enums___parental_status_type_pb2___ParentalStatusTypeEnum.ParentalStatusType

    def __init__(self,
        *,
        type : typing___Optional[google___ads___googleads___v2___enums___parental_status_type_pb2___ParentalStatusTypeEnum.ParentalStatusType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ParentalStatusInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"type"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"type",b"type"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> YouTubeVideoInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"video_id"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"video_id"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"video_id",b"video_id"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"video_id",b"video_id"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> YouTubeChannelInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"channel_id"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"channel_id"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"channel_id",b"channel_id"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"channel_id",b"channel_id"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> UserListInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"user_list"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"user_list"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"user_list",b"user_list"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"user_list",b"user_list"]) -> None: ...

class ProximityInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    radius_units = ... # type: google___ads___googleads___v2___enums___proximity_radius_units_pb2___ProximityRadiusUnitsEnum.ProximityRadiusUnits

    @property
    def geo_point(self) -> GeoPointInfo: ...

    @property
    def radius(self) -> google___protobuf___wrappers_pb2___DoubleValue: ...

    @property
    def address(self) -> AddressInfo: ...

    def __init__(self,
        *,
        geo_point : typing___Optional[GeoPointInfo] = None,
        radius : typing___Optional[google___protobuf___wrappers_pb2___DoubleValue] = None,
        radius_units : typing___Optional[google___ads___googleads___v2___enums___proximity_radius_units_pb2___ProximityRadiusUnitsEnum.ProximityRadiusUnits] = None,
        address : typing___Optional[AddressInfo] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ProximityInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"address",u"geo_point",u"radius"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"address",u"geo_point",u"radius",u"radius_units"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"address",b"address",u"geo_point",b"geo_point",u"radius",b"radius"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"address",b"address",u"geo_point",b"geo_point",u"radius",b"radius",u"radius_units",b"radius_units"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> GeoPointInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"latitude_in_micro_degrees",u"longitude_in_micro_degrees"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"latitude_in_micro_degrees",u"longitude_in_micro_degrees"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"latitude_in_micro_degrees",b"latitude_in_micro_degrees",u"longitude_in_micro_degrees",b"longitude_in_micro_degrees"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"latitude_in_micro_degrees",b"latitude_in_micro_degrees",u"longitude_in_micro_degrees",b"longitude_in_micro_degrees"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> AddressInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"city_name",u"country_code",u"postal_code",u"province_code",u"province_name",u"street_address",u"street_address2"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"city_name",u"country_code",u"postal_code",u"province_code",u"province_name",u"street_address",u"street_address2"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"city_name",b"city_name",u"country_code",b"country_code",u"postal_code",b"postal_code",u"province_code",b"province_code",u"province_name",b"province_name",u"street_address",b"street_address",u"street_address2",b"street_address2"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"city_name",b"city_name",u"country_code",b"country_code",u"postal_code",b"postal_code",u"province_code",b"province_code",u"province_name",b"province_name",u"street_address",b"street_address",u"street_address2",b"street_address2"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> TopicInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"topic_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"path",u"topic_constant"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"topic_constant",b"topic_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"path",b"path",u"topic_constant",b"topic_constant"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> LanguageInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"language_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"language_constant"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"language_constant",b"language_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"language_constant",b"language_constant"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> IpBlockInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"ip_address"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"ip_address"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"ip_address",b"ip_address"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"ip_address",b"ip_address"]) -> None: ...

class ContentLabelInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type = ... # type: google___ads___googleads___v2___enums___content_label_type_pb2___ContentLabelTypeEnum.ContentLabelType

    def __init__(self,
        *,
        type : typing___Optional[google___ads___googleads___v2___enums___content_label_type_pb2___ContentLabelTypeEnum.ContentLabelType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ContentLabelInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"type"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"type",b"type"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> CarrierInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"carrier_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"carrier_constant"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"carrier_constant",b"carrier_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"carrier_constant",b"carrier_constant"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> UserInterestInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"user_interest_category"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"user_interest_category"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"user_interest_category",b"user_interest_category"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"user_interest_category",b"user_interest_category"]) -> None: ...

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[WebpageConditionInfo]: ...

    def __init__(self,
        *,
        criterion_name : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        conditions : typing___Optional[typing___Iterable[WebpageConditionInfo]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> WebpageInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"criterion_name"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"conditions",u"criterion_name"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"criterion_name",b"criterion_name"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"conditions",b"conditions",u"criterion_name",b"criterion_name"]) -> None: ...

class WebpageConditionInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    operand = ... # type: google___ads___googleads___v2___enums___webpage_condition_operand_pb2___WebpageConditionOperandEnum.WebpageConditionOperand
    operator = ... # type: google___ads___googleads___v2___enums___webpage_condition_operator_pb2___WebpageConditionOperatorEnum.WebpageConditionOperator

    @property
    def argument(self) -> google___protobuf___wrappers_pb2___StringValue: ...

    def __init__(self,
        *,
        operand : typing___Optional[google___ads___googleads___v2___enums___webpage_condition_operand_pb2___WebpageConditionOperandEnum.WebpageConditionOperand] = None,
        operator : typing___Optional[google___ads___googleads___v2___enums___webpage_condition_operator_pb2___WebpageConditionOperatorEnum.WebpageConditionOperator] = None,
        argument : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> WebpageConditionInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"argument"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"argument",u"operand",u"operator"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"argument",b"argument"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"argument",b"argument",u"operand",b"operand",u"operator",b"operator"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> OperatingSystemVersionInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"operating_system_version_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"operating_system_version_constant"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"operating_system_version_constant",b"operating_system_version_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"operating_system_version_constant",b"operating_system_version_constant"]) -> None: ...

class AppPaymentModelInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type = ... # type: google___ads___googleads___v2___enums___app_payment_model_type_pb2___AppPaymentModelTypeEnum.AppPaymentModelType

    def __init__(self,
        *,
        type : typing___Optional[google___ads___googleads___v2___enums___app_payment_model_type_pb2___AppPaymentModelTypeEnum.AppPaymentModelType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> AppPaymentModelInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"type"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"type",b"type"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> MobileDeviceInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"mobile_device_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"mobile_device_constant"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"mobile_device_constant",b"mobile_device_constant"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"mobile_device_constant",b"mobile_device_constant"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> CustomAffinityInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"custom_affinity"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"custom_affinity"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"custom_affinity",b"custom_affinity"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"custom_affinity",b"custom_affinity"]) -> None: ...

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: ...
    @classmethod
    def FromString(cls, s: bytes) -> CustomIntentInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"custom_intent"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"custom_intent"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"custom_intent",b"custom_intent"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"custom_intent",b"custom_intent"]) -> None: ...

class LocationGroupInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    radius_units = ... # type: google___ads___googleads___v2___enums___location_group_radius_units_pb2___LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits

    @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___v2___enums___location_group_radius_units_pb2___LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> LocationGroupInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"feed",u"radius"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"feed",u"geo_target_constants",u"radius",u"radius_units"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"feed",b"feed",u"radius",b"radius"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"feed",b"feed",u"geo_target_constants",b"geo_target_constants",u"radius",b"radius",u"radius_units",b"radius_units"]) -> None: ...
