"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v4.proto.common.custom_parameter_pb2
import google.ads.google_ads.v4.proto.common.feed_common_pb2
import google.ads.google_ads.v4.proto.enums.app_store_pb2
import google.ads.google_ads.v4.proto.enums.call_conversion_reporting_state_pb2
import google.ads.google_ads.v4.proto.enums.price_extension_price_qualifier_pb2
import google.ads.google_ads.v4.proto.enums.price_extension_price_unit_pb2
import google.ads.google_ads.v4.proto.enums.price_extension_type_pb2
import google.ads.google_ads.v4.proto.enums.promotion_extension_discount_modifier_pb2
import google.ads.google_ads.v4.proto.enums.promotion_extension_occasion_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.wrappers_pb2
import typing
import typing_extensions

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

class AppFeedItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    LINK_TEXT_FIELD_NUMBER: builtins.int
    APP_ID_FIELD_NUMBER: builtins.int
    APP_STORE_FIELD_NUMBER: builtins.int
    FINAL_URLS_FIELD_NUMBER: builtins.int
    FINAL_MOBILE_URLS_FIELD_NUMBER: builtins.int
    TRACKING_URL_TEMPLATE_FIELD_NUMBER: builtins.int
    URL_CUSTOM_PARAMETERS_FIELD_NUMBER: builtins.int
    FINAL_URL_SUFFIX_FIELD_NUMBER: builtins.int
    app_store: google.ads.google_ads.v4.proto.enums.app_store_pb2.AppStoreEnum.AppStore.V = (
        ...
    )
    @property
    def link_text(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def app_id(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def final_urls(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def final_mobile_urls(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def tracking_url_template(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def url_custom_parameters(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.ads.google_ads.v4.proto.common.custom_parameter_pb2.CustomParameter
    ]: ...
    @property
    def final_url_suffix(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        link_text: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        app_id: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        app_store: google.ads.google_ads.v4.proto.enums.app_store_pb2.AppStoreEnum.AppStore.V = ...,
        final_urls: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        final_mobile_urls: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        tracking_url_template: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        url_custom_parameters: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.common.custom_parameter_pb2.CustomParameter
            ]
        ] = ...,
        final_url_suffix: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "app_id",
            b"app_id",
            "final_url_suffix",
            b"final_url_suffix",
            "link_text",
            b"link_text",
            "tracking_url_template",
            b"tracking_url_template",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "app_id",
            b"app_id",
            "app_store",
            b"app_store",
            "final_mobile_urls",
            b"final_mobile_urls",
            "final_url_suffix",
            b"final_url_suffix",
            "final_urls",
            b"final_urls",
            "link_text",
            b"link_text",
            "tracking_url_template",
            b"tracking_url_template",
            "url_custom_parameters",
            b"url_custom_parameters",
        ],
    ) -> None: ...

global___AppFeedItem = AppFeedItem

class CallFeedItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PHONE_NUMBER_FIELD_NUMBER: builtins.int
    COUNTRY_CODE_FIELD_NUMBER: builtins.int
    CALL_TRACKING_ENABLED_FIELD_NUMBER: builtins.int
    CALL_CONVERSION_ACTION_FIELD_NUMBER: builtins.int
    CALL_CONVERSION_TRACKING_DISABLED_FIELD_NUMBER: builtins.int
    CALL_CONVERSION_REPORTING_STATE_FIELD_NUMBER: builtins.int
    call_conversion_reporting_state: google.ads.google_ads.v4.proto.enums.call_conversion_reporting_state_pb2.CallConversionReportingStateEnum.CallConversionReportingState.V = (
        ...
    )
    @property
    def phone_number(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def country_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def call_tracking_enabled(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def call_conversion_action(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def call_conversion_tracking_disabled(
        self,
    ) -> google.protobuf.wrappers_pb2.BoolValue: ...
    def __init__(
        self,
        *,
        phone_number: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        country_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        call_tracking_enabled: typing.Optional[
            google.protobuf.wrappers_pb2.BoolValue
        ] = ...,
        call_conversion_action: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        call_conversion_tracking_disabled: typing.Optional[
            google.protobuf.wrappers_pb2.BoolValue
        ] = ...,
        call_conversion_reporting_state: google.ads.google_ads.v4.proto.enums.call_conversion_reporting_state_pb2.CallConversionReportingStateEnum.CallConversionReportingState.V = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "call_conversion_action",
            b"call_conversion_action",
            "call_conversion_tracking_disabled",
            b"call_conversion_tracking_disabled",
            "call_tracking_enabled",
            b"call_tracking_enabled",
            "country_code",
            b"country_code",
            "phone_number",
            b"phone_number",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "call_conversion_action",
            b"call_conversion_action",
            "call_conversion_reporting_state",
            b"call_conversion_reporting_state",
            "call_conversion_tracking_disabled",
            b"call_conversion_tracking_disabled",
            "call_tracking_enabled",
            b"call_tracking_enabled",
            "country_code",
            b"country_code",
            "phone_number",
            b"phone_number",
        ],
    ) -> None: ...

global___CallFeedItem = CallFeedItem

class CalloutFeedItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    CALLOUT_TEXT_FIELD_NUMBER: builtins.int
    @property
    def callout_text(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        callout_text: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["callout_text", b"callout_text"]
    ) -> builtins.bool: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["callout_text", b"callout_text"]
    ) -> None: ...

global___CalloutFeedItem = CalloutFeedItem

class LocationFeedItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    BUSINESS_NAME_FIELD_NUMBER: builtins.int
    ADDRESS_LINE_1_FIELD_NUMBER: builtins.int
    ADDRESS_LINE_2_FIELD_NUMBER: builtins.int
    CITY_FIELD_NUMBER: builtins.int
    PROVINCE_FIELD_NUMBER: builtins.int
    POSTAL_CODE_FIELD_NUMBER: builtins.int
    COUNTRY_CODE_FIELD_NUMBER: builtins.int
    PHONE_NUMBER_FIELD_NUMBER: builtins.int
    @property
    def business_name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def address_line_1(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def address_line_2(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def city(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def province(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def postal_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def country_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def phone_number(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        business_name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        address_line_1: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        address_line_2: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        city: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        province: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        postal_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        country_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        phone_number: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "address_line_1",
            b"address_line_1",
            "address_line_2",
            b"address_line_2",
            "business_name",
            b"business_name",
            "city",
            b"city",
            "country_code",
            b"country_code",
            "phone_number",
            b"phone_number",
            "postal_code",
            b"postal_code",
            "province",
            b"province",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "address_line_1",
            b"address_line_1",
            "address_line_2",
            b"address_line_2",
            "business_name",
            b"business_name",
            "city",
            b"city",
            "country_code",
            b"country_code",
            "phone_number",
            b"phone_number",
            "postal_code",
            b"postal_code",
            "province",
            b"province",
        ],
    ) -> None: ...

global___LocationFeedItem = LocationFeedItem

class AffiliateLocationFeedItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    BUSINESS_NAME_FIELD_NUMBER: builtins.int
    ADDRESS_LINE_1_FIELD_NUMBER: builtins.int
    ADDRESS_LINE_2_FIELD_NUMBER: builtins.int
    CITY_FIELD_NUMBER: builtins.int
    PROVINCE_FIELD_NUMBER: builtins.int
    POSTAL_CODE_FIELD_NUMBER: builtins.int
    COUNTRY_CODE_FIELD_NUMBER: builtins.int
    PHONE_NUMBER_FIELD_NUMBER: builtins.int
    CHAIN_ID_FIELD_NUMBER: builtins.int
    CHAIN_NAME_FIELD_NUMBER: builtins.int
    @property
    def business_name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def address_line_1(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def address_line_2(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def city(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def province(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def postal_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def country_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def phone_number(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def chain_id(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def chain_name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        business_name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        address_line_1: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        address_line_2: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        city: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        province: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        postal_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        country_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        phone_number: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        chain_id: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        chain_name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "address_line_1",
            b"address_line_1",
            "address_line_2",
            b"address_line_2",
            "business_name",
            b"business_name",
            "chain_id",
            b"chain_id",
            "chain_name",
            b"chain_name",
            "city",
            b"city",
            "country_code",
            b"country_code",
            "phone_number",
            b"phone_number",
            "postal_code",
            b"postal_code",
            "province",
            b"province",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "address_line_1",
            b"address_line_1",
            "address_line_2",
            b"address_line_2",
            "business_name",
            b"business_name",
            "chain_id",
            b"chain_id",
            "chain_name",
            b"chain_name",
            "city",
            b"city",
            "country_code",
            b"country_code",
            "phone_number",
            b"phone_number",
            "postal_code",
            b"postal_code",
            "province",
            b"province",
        ],
    ) -> None: ...

global___AffiliateLocationFeedItem = AffiliateLocationFeedItem

class TextMessageFeedItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    BUSINESS_NAME_FIELD_NUMBER: builtins.int
    COUNTRY_CODE_FIELD_NUMBER: builtins.int
    PHONE_NUMBER_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    EXTENSION_TEXT_FIELD_NUMBER: builtins.int
    @property
    def business_name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def country_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def phone_number(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def text(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def extension_text(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        business_name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        country_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        phone_number: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        text: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        extension_text: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "business_name",
            b"business_name",
            "country_code",
            b"country_code",
            "extension_text",
            b"extension_text",
            "phone_number",
            b"phone_number",
            "text",
            b"text",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "business_name",
            b"business_name",
            "country_code",
            b"country_code",
            "extension_text",
            b"extension_text",
            "phone_number",
            b"phone_number",
            "text",
            b"text",
        ],
    ) -> None: ...

global___TextMessageFeedItem = TextMessageFeedItem

class PriceFeedItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TYPE_FIELD_NUMBER: builtins.int
    PRICE_QUALIFIER_FIELD_NUMBER: builtins.int
    TRACKING_URL_TEMPLATE_FIELD_NUMBER: builtins.int
    LANGUAGE_CODE_FIELD_NUMBER: builtins.int
    PRICE_OFFERINGS_FIELD_NUMBER: builtins.int
    FINAL_URL_SUFFIX_FIELD_NUMBER: builtins.int
    type: google.ads.google_ads.v4.proto.enums.price_extension_type_pb2.PriceExtensionTypeEnum.PriceExtensionType.V = (
        ...
    )
    price_qualifier: google.ads.google_ads.v4.proto.enums.price_extension_price_qualifier_pb2.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier.V = (
        ...
    )
    @property
    def tracking_url_template(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def language_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def price_offerings(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___PriceOffer
    ]: ...
    @property
    def final_url_suffix(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        type: google.ads.google_ads.v4.proto.enums.price_extension_type_pb2.PriceExtensionTypeEnum.PriceExtensionType.V = ...,
        price_qualifier: google.ads.google_ads.v4.proto.enums.price_extension_price_qualifier_pb2.PriceExtensionPriceQualifierEnum.PriceExtensionPriceQualifier.V = ...,
        tracking_url_template: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        language_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        price_offerings: typing.Optional[typing.Iterable[global___PriceOffer]] = ...,
        final_url_suffix: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "final_url_suffix",
            b"final_url_suffix",
            "language_code",
            b"language_code",
            "tracking_url_template",
            b"tracking_url_template",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "final_url_suffix",
            b"final_url_suffix",
            "language_code",
            b"language_code",
            "price_offerings",
            b"price_offerings",
            "price_qualifier",
            b"price_qualifier",
            "tracking_url_template",
            b"tracking_url_template",
            "type",
            b"type",
        ],
    ) -> None: ...

global___PriceFeedItem = PriceFeedItem

class PriceOffer(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    HEADER_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    PRICE_FIELD_NUMBER: builtins.int
    UNIT_FIELD_NUMBER: builtins.int
    FINAL_URLS_FIELD_NUMBER: builtins.int
    FINAL_MOBILE_URLS_FIELD_NUMBER: builtins.int
    unit: google.ads.google_ads.v4.proto.enums.price_extension_price_unit_pb2.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit.V = (
        ...
    )
    @property
    def header(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def description(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def price(self) -> google.ads.google_ads.v4.proto.common.feed_common_pb2.Money: ...
    @property
    def final_urls(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def final_mobile_urls(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    def __init__(
        self,
        *,
        header: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        description: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        price: typing.Optional[
            google.ads.google_ads.v4.proto.common.feed_common_pb2.Money
        ] = ...,
        unit: google.ads.google_ads.v4.proto.enums.price_extension_price_unit_pb2.PriceExtensionPriceUnitEnum.PriceExtensionPriceUnit.V = ...,
        final_urls: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        final_mobile_urls: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "description", b"description", "header", b"header", "price", b"price"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "description",
            b"description",
            "final_mobile_urls",
            b"final_mobile_urls",
            "final_urls",
            b"final_urls",
            "header",
            b"header",
            "price",
            b"price",
            "unit",
            b"unit",
        ],
    ) -> None: ...

global___PriceOffer = PriceOffer

class PromotionFeedItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PROMOTION_TARGET_FIELD_NUMBER: builtins.int
    DISCOUNT_MODIFIER_FIELD_NUMBER: builtins.int
    PROMOTION_START_DATE_FIELD_NUMBER: builtins.int
    PROMOTION_END_DATE_FIELD_NUMBER: builtins.int
    OCCASION_FIELD_NUMBER: builtins.int
    FINAL_URLS_FIELD_NUMBER: builtins.int
    FINAL_MOBILE_URLS_FIELD_NUMBER: builtins.int
    TRACKING_URL_TEMPLATE_FIELD_NUMBER: builtins.int
    URL_CUSTOM_PARAMETERS_FIELD_NUMBER: builtins.int
    FINAL_URL_SUFFIX_FIELD_NUMBER: builtins.int
    LANGUAGE_CODE_FIELD_NUMBER: builtins.int
    PERCENT_OFF_FIELD_NUMBER: builtins.int
    MONEY_AMOUNT_OFF_FIELD_NUMBER: builtins.int
    PROMOTION_CODE_FIELD_NUMBER: builtins.int
    ORDERS_OVER_AMOUNT_FIELD_NUMBER: builtins.int
    discount_modifier: google.ads.google_ads.v4.proto.enums.promotion_extension_discount_modifier_pb2.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier.V = (
        ...
    )
    occasion: google.ads.google_ads.v4.proto.enums.promotion_extension_occasion_pb2.PromotionExtensionOccasionEnum.PromotionExtensionOccasion.V = (
        ...
    )
    @property
    def promotion_target(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def promotion_start_date(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def promotion_end_date(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def final_urls(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def final_mobile_urls(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def tracking_url_template(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def url_custom_parameters(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.ads.google_ads.v4.proto.common.custom_parameter_pb2.CustomParameter
    ]: ...
    @property
    def final_url_suffix(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def language_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def percent_off(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def money_amount_off(
        self,
    ) -> google.ads.google_ads.v4.proto.common.feed_common_pb2.Money: ...
    @property
    def promotion_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def orders_over_amount(
        self,
    ) -> google.ads.google_ads.v4.proto.common.feed_common_pb2.Money: ...
    def __init__(
        self,
        *,
        promotion_target: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        discount_modifier: google.ads.google_ads.v4.proto.enums.promotion_extension_discount_modifier_pb2.PromotionExtensionDiscountModifierEnum.PromotionExtensionDiscountModifier.V = ...,
        promotion_start_date: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        promotion_end_date: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        occasion: google.ads.google_ads.v4.proto.enums.promotion_extension_occasion_pb2.PromotionExtensionOccasionEnum.PromotionExtensionOccasion.V = ...,
        final_urls: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        final_mobile_urls: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        tracking_url_template: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        url_custom_parameters: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.common.custom_parameter_pb2.CustomParameter
            ]
        ] = ...,
        final_url_suffix: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        language_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        percent_off: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        money_amount_off: typing.Optional[
            google.ads.google_ads.v4.proto.common.feed_common_pb2.Money
        ] = ...,
        promotion_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        orders_over_amount: typing.Optional[
            google.ads.google_ads.v4.proto.common.feed_common_pb2.Money
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "discount_type",
            b"discount_type",
            "final_url_suffix",
            b"final_url_suffix",
            "language_code",
            b"language_code",
            "money_amount_off",
            b"money_amount_off",
            "orders_over_amount",
            b"orders_over_amount",
            "percent_off",
            b"percent_off",
            "promotion_code",
            b"promotion_code",
            "promotion_end_date",
            b"promotion_end_date",
            "promotion_start_date",
            b"promotion_start_date",
            "promotion_target",
            b"promotion_target",
            "promotion_trigger",
            b"promotion_trigger",
            "tracking_url_template",
            b"tracking_url_template",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "discount_modifier",
            b"discount_modifier",
            "discount_type",
            b"discount_type",
            "final_mobile_urls",
            b"final_mobile_urls",
            "final_url_suffix",
            b"final_url_suffix",
            "final_urls",
            b"final_urls",
            "language_code",
            b"language_code",
            "money_amount_off",
            b"money_amount_off",
            "occasion",
            b"occasion",
            "orders_over_amount",
            b"orders_over_amount",
            "percent_off",
            b"percent_off",
            "promotion_code",
            b"promotion_code",
            "promotion_end_date",
            b"promotion_end_date",
            "promotion_start_date",
            b"promotion_start_date",
            "promotion_target",
            b"promotion_target",
            "promotion_trigger",
            b"promotion_trigger",
            "tracking_url_template",
            b"tracking_url_template",
            "url_custom_parameters",
            b"url_custom_parameters",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["discount_type", b"discount_type"]
    ) -> typing_extensions.Literal["percent_off", "money_amount_off"]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "promotion_trigger", b"promotion_trigger"
        ],
    ) -> typing_extensions.Literal["promotion_code", "orders_over_amount"]: ...

global___PromotionFeedItem = PromotionFeedItem

class StructuredSnippetFeedItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    HEADER_FIELD_NUMBER: builtins.int
    VALUES_FIELD_NUMBER: builtins.int
    @property
    def header(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def values(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    def __init__(
        self,
        *,
        header: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        values: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["header", b"header"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal["header", b"header", "values", b"values"],
    ) -> None: ...

global___StructuredSnippetFeedItem = StructuredSnippetFeedItem

class SitelinkFeedItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    LINK_TEXT_FIELD_NUMBER: builtins.int
    LINE1_FIELD_NUMBER: builtins.int
    LINE2_FIELD_NUMBER: builtins.int
    FINAL_URLS_FIELD_NUMBER: builtins.int
    FINAL_MOBILE_URLS_FIELD_NUMBER: builtins.int
    TRACKING_URL_TEMPLATE_FIELD_NUMBER: builtins.int
    URL_CUSTOM_PARAMETERS_FIELD_NUMBER: builtins.int
    FINAL_URL_SUFFIX_FIELD_NUMBER: builtins.int
    @property
    def link_text(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def line1(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def line2(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def final_urls(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def final_mobile_urls(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def tracking_url_template(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def url_custom_parameters(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.ads.google_ads.v4.proto.common.custom_parameter_pb2.CustomParameter
    ]: ...
    @property
    def final_url_suffix(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        link_text: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        line1: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        line2: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        final_urls: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        final_mobile_urls: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        tracking_url_template: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        url_custom_parameters: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.common.custom_parameter_pb2.CustomParameter
            ]
        ] = ...,
        final_url_suffix: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "final_url_suffix",
            b"final_url_suffix",
            "line1",
            b"line1",
            "line2",
            b"line2",
            "link_text",
            b"link_text",
            "tracking_url_template",
            b"tracking_url_template",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "final_mobile_urls",
            b"final_mobile_urls",
            "final_url_suffix",
            b"final_url_suffix",
            "final_urls",
            b"final_urls",
            "line1",
            b"line1",
            "line2",
            b"line2",
            "link_text",
            b"link_text",
            "tracking_url_template",
            b"tracking_url_template",
            "url_custom_parameters",
            b"url_custom_parameters",
        ],
    ) -> None: ...

global___SitelinkFeedItem = SitelinkFeedItem

class HotelCalloutFeedItem(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TEXT_FIELD_NUMBER: builtins.int
    LANGUAGE_CODE_FIELD_NUMBER: builtins.int
    @property
    def text(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def language_code(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        text: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        language_code: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "language_code", b"language_code", "text", b"text"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "language_code", b"language_code", "text", b"text"
        ],
    ) -> None: ...

global___HotelCalloutFeedItem = HotelCalloutFeedItem
