# @generated by mypy-protobuf.  Do not edit manually!
import sys
from typing import (
    Iterable as typing___Iterable,
    Optional as typing___Optional,
    Text as typing___Text,
    overload as typing___overload,
)

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

from google.ads.google_ads.v6.proto.common.ad_asset_pb2 import (
    AdImageAsset as google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset,
    AdMediaBundleAsset as google___ads___googleads___v6___common___ad_asset_pb2___AdMediaBundleAsset,
    AdTextAsset as google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset,
    AdVideoAsset as google___ads___googleads___v6___common___ad_asset_pb2___AdVideoAsset,
)
from google.ads.google_ads.v6.proto.enums.call_conversion_reporting_state_pb2 import (
    CallConversionReportingStateEnum as google___ads___googleads___v6___enums___call_conversion_reporting_state_pb2___CallConversionReportingStateEnum,
)
from google.ads.google_ads.v6.proto.enums.display_ad_format_setting_pb2 import (
    DisplayAdFormatSettingEnum as google___ads___googleads___v6___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum,
)
from google.ads.google_ads.v6.proto.enums.display_upload_product_type_pb2 import (
    DisplayUploadProductTypeEnum as google___ads___googleads___v6___enums___display_upload_product_type_pb2___DisplayUploadProductTypeEnum,
)
from google.ads.google_ads.v6.proto.enums.legacy_app_install_ad_app_store_pb2 import (
    LegacyAppInstallAdAppStoreEnum as google___ads___googleads___v6___enums___legacy_app_install_ad_app_store_pb2___LegacyAppInstallAdAppStoreEnum,
)
from google.ads.google_ads.v6.proto.enums.mime_type_pb2 import (
    MimeTypeEnum as google___ads___googleads___v6___enums___mime_type_pb2___MimeTypeEnum,
)

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

DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...

class TextAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    headline: typing___Text = ...
    description1: typing___Text = ...
    description2: typing___Text = ...
    def __init__(
        self,
        *,
        headline: typing___Optional[typing___Text] = None,
        description1: typing___Optional[typing___Text] = None,
        description2: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_description1",
            b"_description1",
            "_description2",
            b"_description2",
            "_headline",
            b"_headline",
            "description1",
            b"description1",
            "description2",
            b"description2",
            "headline",
            b"headline",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_description1",
            b"_description1",
            "_description2",
            b"_description2",
            "_headline",
            b"_headline",
            "description1",
            b"description1",
            "description2",
            b"description2",
            "headline",
            b"headline",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_description1", b"_description1"],
    ) -> typing_extensions___Literal["description1"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_description2", b"_description2"],
    ) -> typing_extensions___Literal["description2"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_headline", b"_headline"]
    ) -> typing_extensions___Literal["headline"]: ...

type___TextAdInfo = TextAdInfo

class ExpandedTextAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    headline_part1: typing___Text = ...
    headline_part2: typing___Text = ...
    headline_part3: typing___Text = ...
    description: typing___Text = ...
    description2: typing___Text = ...
    path1: typing___Text = ...
    path2: typing___Text = ...
    def __init__(
        self,
        *,
        headline_part1: typing___Optional[typing___Text] = None,
        headline_part2: typing___Optional[typing___Text] = None,
        headline_part3: typing___Optional[typing___Text] = None,
        description: typing___Optional[typing___Text] = None,
        description2: typing___Optional[typing___Text] = None,
        path1: typing___Optional[typing___Text] = None,
        path2: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_description",
            b"_description",
            "_description2",
            b"_description2",
            "_headline_part1",
            b"_headline_part1",
            "_headline_part2",
            b"_headline_part2",
            "_headline_part3",
            b"_headline_part3",
            "_path1",
            b"_path1",
            "_path2",
            b"_path2",
            "description",
            b"description",
            "description2",
            b"description2",
            "headline_part1",
            b"headline_part1",
            "headline_part2",
            b"headline_part2",
            "headline_part3",
            b"headline_part3",
            "path1",
            b"path1",
            "path2",
            b"path2",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_description",
            b"_description",
            "_description2",
            b"_description2",
            "_headline_part1",
            b"_headline_part1",
            "_headline_part2",
            b"_headline_part2",
            "_headline_part3",
            b"_headline_part3",
            "_path1",
            b"_path1",
            "_path2",
            b"_path2",
            "description",
            b"description",
            "description2",
            b"description2",
            "headline_part1",
            b"headline_part1",
            "headline_part2",
            b"headline_part2",
            "headline_part3",
            b"headline_part3",
            "path1",
            b"path1",
            "path2",
            b"path2",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_description", b"_description"]
    ) -> typing_extensions___Literal["description"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_description2", b"_description2"],
    ) -> typing_extensions___Literal["description2"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_headline_part1", b"_headline_part1"],
    ) -> typing_extensions___Literal["headline_part1"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_headline_part2", b"_headline_part2"],
    ) -> typing_extensions___Literal["headline_part2"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_headline_part3", b"_headline_part3"],
    ) -> typing_extensions___Literal["headline_part3"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_path1", b"_path1"]
    ) -> typing_extensions___Literal["path1"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_path2", b"_path2"]
    ) -> typing_extensions___Literal["path2"]: ...

type___ExpandedTextAdInfo = ExpandedTextAdInfo

class CallOnlyAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    country_code: typing___Text = ...
    phone_number: typing___Text = ...
    business_name: typing___Text = ...
    headline1: typing___Text = ...
    headline2: typing___Text = ...
    description1: typing___Text = ...
    description2: typing___Text = ...
    call_tracked: builtin___bool = ...
    disable_call_conversion: builtin___bool = ...
    phone_number_verification_url: typing___Text = ...
    conversion_action: typing___Text = ...
    conversion_reporting_state: google___ads___googleads___v6___enums___call_conversion_reporting_state_pb2___CallConversionReportingStateEnum.CallConversionReportingStateValue = ...
    def __init__(
        self,
        *,
        country_code: typing___Optional[typing___Text] = None,
        phone_number: typing___Optional[typing___Text] = None,
        business_name: typing___Optional[typing___Text] = None,
        headline1: typing___Optional[typing___Text] = None,
        headline2: typing___Optional[typing___Text] = None,
        description1: typing___Optional[typing___Text] = None,
        description2: typing___Optional[typing___Text] = None,
        call_tracked: typing___Optional[builtin___bool] = None,
        disable_call_conversion: typing___Optional[builtin___bool] = None,
        phone_number_verification_url: typing___Optional[typing___Text] = None,
        conversion_action: typing___Optional[typing___Text] = None,
        conversion_reporting_state: typing___Optional[
            google___ads___googleads___v6___enums___call_conversion_reporting_state_pb2___CallConversionReportingStateEnum.CallConversionReportingStateValue
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_business_name",
            b"_business_name",
            "_call_tracked",
            b"_call_tracked",
            "_conversion_action",
            b"_conversion_action",
            "_country_code",
            b"_country_code",
            "_description1",
            b"_description1",
            "_description2",
            b"_description2",
            "_disable_call_conversion",
            b"_disable_call_conversion",
            "_headline1",
            b"_headline1",
            "_headline2",
            b"_headline2",
            "_phone_number",
            b"_phone_number",
            "_phone_number_verification_url",
            b"_phone_number_verification_url",
            "business_name",
            b"business_name",
            "call_tracked",
            b"call_tracked",
            "conversion_action",
            b"conversion_action",
            "country_code",
            b"country_code",
            "description1",
            b"description1",
            "description2",
            b"description2",
            "disable_call_conversion",
            b"disable_call_conversion",
            "headline1",
            b"headline1",
            "headline2",
            b"headline2",
            "phone_number",
            b"phone_number",
            "phone_number_verification_url",
            b"phone_number_verification_url",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_business_name",
            b"_business_name",
            "_call_tracked",
            b"_call_tracked",
            "_conversion_action",
            b"_conversion_action",
            "_country_code",
            b"_country_code",
            "_description1",
            b"_description1",
            "_description2",
            b"_description2",
            "_disable_call_conversion",
            b"_disable_call_conversion",
            "_headline1",
            b"_headline1",
            "_headline2",
            b"_headline2",
            "_phone_number",
            b"_phone_number",
            "_phone_number_verification_url",
            b"_phone_number_verification_url",
            "business_name",
            b"business_name",
            "call_tracked",
            b"call_tracked",
            "conversion_action",
            b"conversion_action",
            "conversion_reporting_state",
            b"conversion_reporting_state",
            "country_code",
            b"country_code",
            "description1",
            b"description1",
            "description2",
            b"description2",
            "disable_call_conversion",
            b"disable_call_conversion",
            "headline1",
            b"headline1",
            "headline2",
            b"headline2",
            "phone_number",
            b"phone_number",
            "phone_number_verification_url",
            b"phone_number_verification_url",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_business_name", b"_business_name"],
    ) -> typing_extensions___Literal["business_name"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_call_tracked", b"_call_tracked"],
    ) -> typing_extensions___Literal["call_tracked"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_conversion_action", b"_conversion_action"
        ],
    ) -> typing_extensions___Literal["conversion_action"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_country_code", b"_country_code"],
    ) -> typing_extensions___Literal["country_code"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_description1", b"_description1"],
    ) -> typing_extensions___Literal["description1"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_description2", b"_description2"],
    ) -> typing_extensions___Literal["description2"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_disable_call_conversion", b"_disable_call_conversion"
        ],
    ) -> typing_extensions___Literal["disable_call_conversion"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_headline1", b"_headline1"]
    ) -> typing_extensions___Literal["headline1"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_headline2", b"_headline2"]
    ) -> typing_extensions___Literal["headline2"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_phone_number", b"_phone_number"],
    ) -> typing_extensions___Literal["phone_number"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_phone_number_verification_url", b"_phone_number_verification_url"
        ],
    ) -> typing_extensions___Literal["phone_number_verification_url"]: ...

type___CallOnlyAdInfo = CallOnlyAdInfo

class ExpandedDynamicSearchAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    description: typing___Text = ...
    description2: typing___Text = ...
    def __init__(
        self,
        *,
        description: typing___Optional[typing___Text] = None,
        description2: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_description",
            b"_description",
            "_description2",
            b"_description2",
            "description",
            b"description",
            "description2",
            b"description2",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_description",
            b"_description",
            "_description2",
            b"_description2",
            "description",
            b"description",
            "description2",
            b"description2",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_description", b"_description"]
    ) -> typing_extensions___Literal["description"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_description2", b"_description2"],
    ) -> typing_extensions___Literal["description2"]: ...

type___ExpandedDynamicSearchAdInfo = ExpandedDynamicSearchAdInfo

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

type___HotelAdInfo = HotelAdInfo

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

type___ShoppingSmartAdInfo = ShoppingSmartAdInfo

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

type___ShoppingProductAdInfo = ShoppingProductAdInfo

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

type___ShoppingComparisonListingAdInfo = ShoppingComparisonListingAdInfo

class GmailAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    header_image: typing___Text = ...
    marketing_image: typing___Text = ...
    marketing_image_headline: typing___Text = ...
    marketing_image_description: typing___Text = ...
    @property
    def teaser(self) -> type___GmailTeaser: ...
    @property
    def marketing_image_display_call_to_action(self) -> type___DisplayCallToAction: ...
    @property
    def product_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        type___ProductImage
    ]: ...
    @property
    def product_videos(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        type___ProductVideo
    ]: ...
    def __init__(
        self,
        *,
        teaser: typing___Optional[type___GmailTeaser] = None,
        header_image: typing___Optional[typing___Text] = None,
        marketing_image: typing___Optional[typing___Text] = None,
        marketing_image_headline: typing___Optional[typing___Text] = None,
        marketing_image_description: typing___Optional[typing___Text] = None,
        marketing_image_display_call_to_action: typing___Optional[
            type___DisplayCallToAction
        ] = None,
        product_images: typing___Optional[
            typing___Iterable[type___ProductImage]
        ] = None,
        product_videos: typing___Optional[
            typing___Iterable[type___ProductVideo]
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_header_image",
            b"_header_image",
            "_marketing_image",
            b"_marketing_image",
            "_marketing_image_description",
            b"_marketing_image_description",
            "_marketing_image_headline",
            b"_marketing_image_headline",
            "header_image",
            b"header_image",
            "marketing_image",
            b"marketing_image",
            "marketing_image_description",
            b"marketing_image_description",
            "marketing_image_display_call_to_action",
            b"marketing_image_display_call_to_action",
            "marketing_image_headline",
            b"marketing_image_headline",
            "teaser",
            b"teaser",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_header_image",
            b"_header_image",
            "_marketing_image",
            b"_marketing_image",
            "_marketing_image_description",
            b"_marketing_image_description",
            "_marketing_image_headline",
            b"_marketing_image_headline",
            "header_image",
            b"header_image",
            "marketing_image",
            b"marketing_image",
            "marketing_image_description",
            b"marketing_image_description",
            "marketing_image_display_call_to_action",
            b"marketing_image_display_call_to_action",
            "marketing_image_headline",
            b"marketing_image_headline",
            "product_images",
            b"product_images",
            "product_videos",
            b"product_videos",
            "teaser",
            b"teaser",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_header_image", b"_header_image"],
    ) -> typing_extensions___Literal["header_image"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_marketing_image", b"_marketing_image"
        ],
    ) -> typing_extensions___Literal["marketing_image"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_marketing_image_description", b"_marketing_image_description"
        ],
    ) -> typing_extensions___Literal["marketing_image_description"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_marketing_image_headline", b"_marketing_image_headline"
        ],
    ) -> typing_extensions___Literal["marketing_image_headline"]: ...

type___GmailAdInfo = GmailAdInfo

class GmailTeaser(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    headline: typing___Text = ...
    description: typing___Text = ...
    business_name: typing___Text = ...
    logo_image: typing___Text = ...
    def __init__(
        self,
        *,
        headline: typing___Optional[typing___Text] = None,
        description: typing___Optional[typing___Text] = None,
        business_name: typing___Optional[typing___Text] = None,
        logo_image: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_business_name",
            b"_business_name",
            "_description",
            b"_description",
            "_headline",
            b"_headline",
            "_logo_image",
            b"_logo_image",
            "business_name",
            b"business_name",
            "description",
            b"description",
            "headline",
            b"headline",
            "logo_image",
            b"logo_image",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_business_name",
            b"_business_name",
            "_description",
            b"_description",
            "_headline",
            b"_headline",
            "_logo_image",
            b"_logo_image",
            "business_name",
            b"business_name",
            "description",
            b"description",
            "headline",
            b"headline",
            "logo_image",
            b"logo_image",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_business_name", b"_business_name"],
    ) -> typing_extensions___Literal["business_name"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_description", b"_description"]
    ) -> typing_extensions___Literal["description"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_headline", b"_headline"]
    ) -> typing_extensions___Literal["headline"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_logo_image", b"_logo_image"]
    ) -> typing_extensions___Literal["logo_image"]: ...

type___GmailTeaser = GmailTeaser

class DisplayCallToAction(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    text: typing___Text = ...
    text_color: typing___Text = ...
    url_collection_id: typing___Text = ...
    def __init__(
        self,
        *,
        text: typing___Optional[typing___Text] = None,
        text_color: typing___Optional[typing___Text] = None,
        url_collection_id: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_text",
            b"_text",
            "_text_color",
            b"_text_color",
            "_url_collection_id",
            b"_url_collection_id",
            "text",
            b"text",
            "text_color",
            b"text_color",
            "url_collection_id",
            b"url_collection_id",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_text",
            b"_text",
            "_text_color",
            b"_text_color",
            "_url_collection_id",
            b"_url_collection_id",
            "text",
            b"text",
            "text_color",
            b"text_color",
            "url_collection_id",
            b"url_collection_id",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_text", b"_text"]
    ) -> typing_extensions___Literal["text"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_text_color", b"_text_color"]
    ) -> typing_extensions___Literal["text_color"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_url_collection_id", b"_url_collection_id"
        ],
    ) -> typing_extensions___Literal["url_collection_id"]: ...

type___DisplayCallToAction = DisplayCallToAction

class ProductImage(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    product_image: typing___Text = ...
    description: typing___Text = ...
    @property
    def display_call_to_action(self) -> type___DisplayCallToAction: ...
    def __init__(
        self,
        *,
        product_image: typing___Optional[typing___Text] = None,
        description: typing___Optional[typing___Text] = None,
        display_call_to_action: typing___Optional[type___DisplayCallToAction] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_description",
            b"_description",
            "_product_image",
            b"_product_image",
            "description",
            b"description",
            "display_call_to_action",
            b"display_call_to_action",
            "product_image",
            b"product_image",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_description",
            b"_description",
            "_product_image",
            b"_product_image",
            "description",
            b"description",
            "display_call_to_action",
            b"display_call_to_action",
            "product_image",
            b"product_image",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_description", b"_description"]
    ) -> typing_extensions___Literal["description"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_product_image", b"_product_image"],
    ) -> typing_extensions___Literal["product_image"]: ...

type___ProductImage = ProductImage

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

type___ProductVideo = ProductVideo

class ImageAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    pixel_width: builtin___int = ...
    pixel_height: builtin___int = ...
    image_url: typing___Text = ...
    preview_pixel_width: builtin___int = ...
    preview_pixel_height: builtin___int = ...
    preview_image_url: typing___Text = ...
    mime_type: google___ads___googleads___v6___enums___mime_type_pb2___MimeTypeEnum.MimeTypeValue = ...
    name: typing___Text = ...
    media_file: typing___Text = ...
    data: builtin___bytes = ...
    ad_id_to_copy_image_from: builtin___int = ...
    def __init__(
        self,
        *,
        pixel_width: typing___Optional[builtin___int] = None,
        pixel_height: typing___Optional[builtin___int] = None,
        image_url: typing___Optional[typing___Text] = None,
        preview_pixel_width: typing___Optional[builtin___int] = None,
        preview_pixel_height: typing___Optional[builtin___int] = None,
        preview_image_url: typing___Optional[typing___Text] = None,
        mime_type: typing___Optional[
            google___ads___googleads___v6___enums___mime_type_pb2___MimeTypeEnum.MimeTypeValue
        ] = None,
        name: typing___Optional[typing___Text] = None,
        media_file: typing___Optional[typing___Text] = None,
        data: typing___Optional[builtin___bytes] = None,
        ad_id_to_copy_image_from: typing___Optional[builtin___int] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_image_url",
            b"_image_url",
            "_name",
            b"_name",
            "_pixel_height",
            b"_pixel_height",
            "_pixel_width",
            b"_pixel_width",
            "_preview_image_url",
            b"_preview_image_url",
            "_preview_pixel_height",
            b"_preview_pixel_height",
            "_preview_pixel_width",
            b"_preview_pixel_width",
            "ad_id_to_copy_image_from",
            b"ad_id_to_copy_image_from",
            "data",
            b"data",
            "image",
            b"image",
            "image_url",
            b"image_url",
            "media_file",
            b"media_file",
            "name",
            b"name",
            "pixel_height",
            b"pixel_height",
            "pixel_width",
            b"pixel_width",
            "preview_image_url",
            b"preview_image_url",
            "preview_pixel_height",
            b"preview_pixel_height",
            "preview_pixel_width",
            b"preview_pixel_width",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_image_url",
            b"_image_url",
            "_name",
            b"_name",
            "_pixel_height",
            b"_pixel_height",
            "_pixel_width",
            b"_pixel_width",
            "_preview_image_url",
            b"_preview_image_url",
            "_preview_pixel_height",
            b"_preview_pixel_height",
            "_preview_pixel_width",
            b"_preview_pixel_width",
            "ad_id_to_copy_image_from",
            b"ad_id_to_copy_image_from",
            "data",
            b"data",
            "image",
            b"image",
            "image_url",
            b"image_url",
            "media_file",
            b"media_file",
            "mime_type",
            b"mime_type",
            "name",
            b"name",
            "pixel_height",
            b"pixel_height",
            "pixel_width",
            b"pixel_width",
            "preview_image_url",
            b"preview_image_url",
            "preview_pixel_height",
            b"preview_pixel_height",
            "preview_pixel_width",
            b"preview_pixel_width",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_image_url", b"_image_url"]
    ) -> typing_extensions___Literal["image_url"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_name", b"_name"]
    ) -> typing_extensions___Literal["name"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_pixel_height", b"_pixel_height"],
    ) -> typing_extensions___Literal["pixel_height"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_pixel_width", b"_pixel_width"]
    ) -> typing_extensions___Literal["pixel_width"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_preview_image_url", b"_preview_image_url"
        ],
    ) -> typing_extensions___Literal["preview_image_url"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_preview_pixel_height", b"_preview_pixel_height"
        ],
    ) -> typing_extensions___Literal["preview_pixel_height"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_preview_pixel_width", b"_preview_pixel_width"
        ],
    ) -> typing_extensions___Literal["preview_pixel_width"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["image", b"image"]
    ) -> typing_extensions___Literal[
        "media_file", "data", "ad_id_to_copy_image_from"
    ]: ...

type___ImageAdInfo = ImageAdInfo

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

type___VideoBumperInStreamAdInfo = VideoBumperInStreamAdInfo

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

type___VideoNonSkippableInStreamAdInfo = VideoNonSkippableInStreamAdInfo

class VideoTrueViewInStreamAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    action_button_label: typing___Text = ...
    action_headline: typing___Text = ...
    companion_banner: typing___Text = ...
    def __init__(
        self,
        *,
        action_button_label: typing___Optional[typing___Text] = None,
        action_headline: typing___Optional[typing___Text] = None,
        companion_banner: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_action_button_label",
            b"_action_button_label",
            "_action_headline",
            b"_action_headline",
            "_companion_banner",
            b"_companion_banner",
            "action_button_label",
            b"action_button_label",
            "action_headline",
            b"action_headline",
            "companion_banner",
            b"companion_banner",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_action_button_label",
            b"_action_button_label",
            "_action_headline",
            b"_action_headline",
            "_companion_banner",
            b"_companion_banner",
            "action_button_label",
            b"action_button_label",
            "action_headline",
            b"action_headline",
            "companion_banner",
            b"companion_banner",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_action_button_label", b"_action_button_label"
        ],
    ) -> typing_extensions___Literal["action_button_label"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_action_headline", b"_action_headline"
        ],
    ) -> typing_extensions___Literal["action_headline"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_companion_banner", b"_companion_banner"
        ],
    ) -> typing_extensions___Literal["companion_banner"]: ...

type___VideoTrueViewInStreamAdInfo = VideoTrueViewInStreamAdInfo

class VideoOutstreamAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    headline: typing___Text = ...
    description: typing___Text = ...
    def __init__(
        self,
        *,
        headline: typing___Optional[typing___Text] = None,
        description: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_description",
            b"_description",
            "_headline",
            b"_headline",
            "description",
            b"description",
            "headline",
            b"headline",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_description",
            b"_description",
            "_headline",
            b"_headline",
            "description",
            b"description",
            "headline",
            b"headline",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_description", b"_description"]
    ) -> typing_extensions___Literal["description"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_headline", b"_headline"]
    ) -> typing_extensions___Literal["headline"]: ...

type___VideoOutstreamAdInfo = VideoOutstreamAdInfo

class VideoTrueViewDiscoveryAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    headline: typing___Text = ...
    description1: typing___Text = ...
    description2: typing___Text = ...
    def __init__(
        self,
        *,
        headline: typing___Optional[typing___Text] = None,
        description1: typing___Optional[typing___Text] = None,
        description2: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_description1",
            b"_description1",
            "_description2",
            b"_description2",
            "_headline",
            b"_headline",
            "description1",
            b"description1",
            "description2",
            b"description2",
            "headline",
            b"headline",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_description1",
            b"_description1",
            "_description2",
            b"_description2",
            "_headline",
            b"_headline",
            "description1",
            b"description1",
            "description2",
            b"description2",
            "headline",
            b"headline",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_description1", b"_description1"],
    ) -> typing_extensions___Literal["description1"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_description2", b"_description2"],
    ) -> typing_extensions___Literal["description2"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_headline", b"_headline"]
    ) -> typing_extensions___Literal["headline"]: ...

type___VideoTrueViewDiscoveryAdInfo = VideoTrueViewDiscoveryAdInfo

class VideoAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    media_file: typing___Text = ...
    @property
    def in_stream(self) -> type___VideoTrueViewInStreamAdInfo: ...
    @property
    def bumper(self) -> type___VideoBumperInStreamAdInfo: ...
    @property
    def out_stream(self) -> type___VideoOutstreamAdInfo: ...
    @property
    def non_skippable(self) -> type___VideoNonSkippableInStreamAdInfo: ...
    @property
    def discovery(self) -> type___VideoTrueViewDiscoveryAdInfo: ...
    def __init__(
        self,
        *,
        media_file: typing___Optional[typing___Text] = None,
        in_stream: typing___Optional[type___VideoTrueViewInStreamAdInfo] = None,
        bumper: typing___Optional[type___VideoBumperInStreamAdInfo] = None,
        out_stream: typing___Optional[type___VideoOutstreamAdInfo] = None,
        non_skippable: typing___Optional[type___VideoNonSkippableInStreamAdInfo] = None,
        discovery: typing___Optional[type___VideoTrueViewDiscoveryAdInfo] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_media_file",
            b"_media_file",
            "bumper",
            b"bumper",
            "discovery",
            b"discovery",
            "format",
            b"format",
            "in_stream",
            b"in_stream",
            "media_file",
            b"media_file",
            "non_skippable",
            b"non_skippable",
            "out_stream",
            b"out_stream",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_media_file",
            b"_media_file",
            "bumper",
            b"bumper",
            "discovery",
            b"discovery",
            "format",
            b"format",
            "in_stream",
            b"in_stream",
            "media_file",
            b"media_file",
            "non_skippable",
            b"non_skippable",
            "out_stream",
            b"out_stream",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_media_file", b"_media_file"]
    ) -> typing_extensions___Literal["media_file"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["format", b"format"]
    ) -> typing_extensions___Literal[
        "in_stream", "bumper", "out_stream", "non_skippable", "discovery"
    ]: ...

type___VideoAdInfo = VideoAdInfo

class VideoResponsiveAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def headlines(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def long_headlines(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def descriptions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def call_to_actions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def videos(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdVideoAsset
    ]: ...
    @property
    def companion_banners(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
    ]: ...
    def __init__(
        self,
        *,
        headlines: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        long_headlines: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        descriptions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        call_to_actions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        videos: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdVideoAsset
            ]
        ] = None,
        companion_banners: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "call_to_actions",
            b"call_to_actions",
            "companion_banners",
            b"companion_banners",
            "descriptions",
            b"descriptions",
            "headlines",
            b"headlines",
            "long_headlines",
            b"long_headlines",
            "videos",
            b"videos",
        ],
    ) -> None: ...

type___VideoResponsiveAdInfo = VideoResponsiveAdInfo

class ResponsiveSearchAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    path1: typing___Text = ...
    path2: typing___Text = ...
    @property
    def headlines(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def descriptions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    def __init__(
        self,
        *,
        headlines: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        descriptions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        path1: typing___Optional[typing___Text] = None,
        path2: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_path1",
            b"_path1",
            "_path2",
            b"_path2",
            "path1",
            b"path1",
            "path2",
            b"path2",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_path1",
            b"_path1",
            "_path2",
            b"_path2",
            "descriptions",
            b"descriptions",
            "headlines",
            b"headlines",
            "path1",
            b"path1",
            "path2",
            b"path2",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_path1", b"_path1"]
    ) -> typing_extensions___Literal["path1"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_path2", b"_path2"]
    ) -> typing_extensions___Literal["path2"]: ...

type___ResponsiveSearchAdInfo = ResponsiveSearchAdInfo

class LegacyResponsiveDisplayAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    short_headline: typing___Text = ...
    long_headline: typing___Text = ...
    description: typing___Text = ...
    business_name: typing___Text = ...
    allow_flexible_color: builtin___bool = ...
    accent_color: typing___Text = ...
    main_color: typing___Text = ...
    call_to_action_text: typing___Text = ...
    logo_image: typing___Text = ...
    square_logo_image: typing___Text = ...
    marketing_image: typing___Text = ...
    square_marketing_image: typing___Text = ...
    format_setting: google___ads___googleads___v6___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum.DisplayAdFormatSettingValue = ...
    price_prefix: typing___Text = ...
    promo_text: typing___Text = ...
    def __init__(
        self,
        *,
        short_headline: typing___Optional[typing___Text] = None,
        long_headline: typing___Optional[typing___Text] = None,
        description: typing___Optional[typing___Text] = None,
        business_name: typing___Optional[typing___Text] = None,
        allow_flexible_color: typing___Optional[builtin___bool] = None,
        accent_color: typing___Optional[typing___Text] = None,
        main_color: typing___Optional[typing___Text] = None,
        call_to_action_text: typing___Optional[typing___Text] = None,
        logo_image: typing___Optional[typing___Text] = None,
        square_logo_image: typing___Optional[typing___Text] = None,
        marketing_image: typing___Optional[typing___Text] = None,
        square_marketing_image: typing___Optional[typing___Text] = None,
        format_setting: typing___Optional[
            google___ads___googleads___v6___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum.DisplayAdFormatSettingValue
        ] = None,
        price_prefix: typing___Optional[typing___Text] = None,
        promo_text: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_accent_color",
            b"_accent_color",
            "_allow_flexible_color",
            b"_allow_flexible_color",
            "_business_name",
            b"_business_name",
            "_call_to_action_text",
            b"_call_to_action_text",
            "_description",
            b"_description",
            "_logo_image",
            b"_logo_image",
            "_long_headline",
            b"_long_headline",
            "_main_color",
            b"_main_color",
            "_marketing_image",
            b"_marketing_image",
            "_price_prefix",
            b"_price_prefix",
            "_promo_text",
            b"_promo_text",
            "_short_headline",
            b"_short_headline",
            "_square_logo_image",
            b"_square_logo_image",
            "_square_marketing_image",
            b"_square_marketing_image",
            "accent_color",
            b"accent_color",
            "allow_flexible_color",
            b"allow_flexible_color",
            "business_name",
            b"business_name",
            "call_to_action_text",
            b"call_to_action_text",
            "description",
            b"description",
            "logo_image",
            b"logo_image",
            "long_headline",
            b"long_headline",
            "main_color",
            b"main_color",
            "marketing_image",
            b"marketing_image",
            "price_prefix",
            b"price_prefix",
            "promo_text",
            b"promo_text",
            "short_headline",
            b"short_headline",
            "square_logo_image",
            b"square_logo_image",
            "square_marketing_image",
            b"square_marketing_image",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_accent_color",
            b"_accent_color",
            "_allow_flexible_color",
            b"_allow_flexible_color",
            "_business_name",
            b"_business_name",
            "_call_to_action_text",
            b"_call_to_action_text",
            "_description",
            b"_description",
            "_logo_image",
            b"_logo_image",
            "_long_headline",
            b"_long_headline",
            "_main_color",
            b"_main_color",
            "_marketing_image",
            b"_marketing_image",
            "_price_prefix",
            b"_price_prefix",
            "_promo_text",
            b"_promo_text",
            "_short_headline",
            b"_short_headline",
            "_square_logo_image",
            b"_square_logo_image",
            "_square_marketing_image",
            b"_square_marketing_image",
            "accent_color",
            b"accent_color",
            "allow_flexible_color",
            b"allow_flexible_color",
            "business_name",
            b"business_name",
            "call_to_action_text",
            b"call_to_action_text",
            "description",
            b"description",
            "format_setting",
            b"format_setting",
            "logo_image",
            b"logo_image",
            "long_headline",
            b"long_headline",
            "main_color",
            b"main_color",
            "marketing_image",
            b"marketing_image",
            "price_prefix",
            b"price_prefix",
            "promo_text",
            b"promo_text",
            "short_headline",
            b"short_headline",
            "square_logo_image",
            b"square_logo_image",
            "square_marketing_image",
            b"square_marketing_image",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_accent_color", b"_accent_color"],
    ) -> typing_extensions___Literal["accent_color"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_allow_flexible_color", b"_allow_flexible_color"
        ],
    ) -> typing_extensions___Literal["allow_flexible_color"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_business_name", b"_business_name"],
    ) -> typing_extensions___Literal["business_name"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_call_to_action_text", b"_call_to_action_text"
        ],
    ) -> typing_extensions___Literal["call_to_action_text"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_description", b"_description"]
    ) -> typing_extensions___Literal["description"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_logo_image", b"_logo_image"]
    ) -> typing_extensions___Literal["logo_image"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_long_headline", b"_long_headline"],
    ) -> typing_extensions___Literal["long_headline"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_main_color", b"_main_color"]
    ) -> typing_extensions___Literal["main_color"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_marketing_image", b"_marketing_image"
        ],
    ) -> typing_extensions___Literal["marketing_image"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_price_prefix", b"_price_prefix"],
    ) -> typing_extensions___Literal["price_prefix"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_promo_text", b"_promo_text"]
    ) -> typing_extensions___Literal["promo_text"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_short_headline", b"_short_headline"],
    ) -> typing_extensions___Literal["short_headline"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_square_logo_image", b"_square_logo_image"
        ],
    ) -> typing_extensions___Literal["square_logo_image"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_square_marketing_image", b"_square_marketing_image"
        ],
    ) -> typing_extensions___Literal["square_marketing_image"]: ...

type___LegacyResponsiveDisplayAdInfo = LegacyResponsiveDisplayAdInfo

class AppAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def mandatory_ad_text(
        self,
    ) -> google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset: ...
    @property
    def headlines(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def descriptions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def youtube_videos(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdVideoAsset
    ]: ...
    @property
    def html5_media_bundles(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdMediaBundleAsset
    ]: ...
    def __init__(
        self,
        *,
        mandatory_ad_text: typing___Optional[
            google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
        ] = None,
        headlines: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        descriptions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        youtube_videos: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdVideoAsset
            ]
        ] = None,
        html5_media_bundles: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdMediaBundleAsset
            ]
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "mandatory_ad_text", b"mandatory_ad_text"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "descriptions",
            b"descriptions",
            "headlines",
            b"headlines",
            "html5_media_bundles",
            b"html5_media_bundles",
            "images",
            b"images",
            "mandatory_ad_text",
            b"mandatory_ad_text",
            "youtube_videos",
            b"youtube_videos",
        ],
    ) -> None: ...

type___AppAdInfo = AppAdInfo

class AppEngagementAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def headlines(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def descriptions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def videos(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdVideoAsset
    ]: ...
    def __init__(
        self,
        *,
        headlines: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        descriptions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        videos: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdVideoAsset
            ]
        ] = None,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "descriptions",
            b"descriptions",
            "headlines",
            b"headlines",
            "images",
            b"images",
            "videos",
            b"videos",
        ],
    ) -> None: ...

type___AppEngagementAdInfo = AppEngagementAdInfo

class LegacyAppInstallAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    app_id: typing___Text = ...
    app_store: google___ads___googleads___v6___enums___legacy_app_install_ad_app_store_pb2___LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStoreValue = ...
    headline: typing___Text = ...
    description1: typing___Text = ...
    description2: typing___Text = ...
    def __init__(
        self,
        *,
        app_id: typing___Optional[typing___Text] = None,
        app_store: typing___Optional[
            google___ads___googleads___v6___enums___legacy_app_install_ad_app_store_pb2___LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStoreValue
        ] = None,
        headline: typing___Optional[typing___Text] = None,
        description1: typing___Optional[typing___Text] = None,
        description2: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_app_id",
            b"_app_id",
            "_description1",
            b"_description1",
            "_description2",
            b"_description2",
            "_headline",
            b"_headline",
            "app_id",
            b"app_id",
            "description1",
            b"description1",
            "description2",
            b"description2",
            "headline",
            b"headline",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_app_id",
            b"_app_id",
            "_description1",
            b"_description1",
            "_description2",
            b"_description2",
            "_headline",
            b"_headline",
            "app_id",
            b"app_id",
            "app_store",
            b"app_store",
            "description1",
            b"description1",
            "description2",
            b"description2",
            "headline",
            b"headline",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_app_id", b"_app_id"]
    ) -> typing_extensions___Literal["app_id"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_description1", b"_description1"],
    ) -> typing_extensions___Literal["description1"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_description2", b"_description2"],
    ) -> typing_extensions___Literal["description2"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_headline", b"_headline"]
    ) -> typing_extensions___Literal["headline"]: ...

type___LegacyAppInstallAdInfo = LegacyAppInstallAdInfo

class ResponsiveDisplayAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    business_name: typing___Text = ...
    main_color: typing___Text = ...
    accent_color: typing___Text = ...
    allow_flexible_color: builtin___bool = ...
    call_to_action_text: typing___Text = ...
    price_prefix: typing___Text = ...
    promo_text: typing___Text = ...
    format_setting: google___ads___googleads___v6___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum.DisplayAdFormatSettingValue = ...
    @property
    def marketing_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def square_marketing_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def logo_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def square_logo_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def headlines(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def long_headline(
        self,
    ) -> google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset: ...
    @property
    def descriptions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def youtube_videos(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdVideoAsset
    ]: ...
    @property
    def control_spec(self) -> type___ResponsiveDisplayAdControlSpec: ...
    def __init__(
        self,
        *,
        marketing_images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        square_marketing_images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        logo_images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        square_logo_images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        headlines: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        long_headline: typing___Optional[
            google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
        ] = None,
        descriptions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        youtube_videos: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdVideoAsset
            ]
        ] = None,
        business_name: typing___Optional[typing___Text] = None,
        main_color: typing___Optional[typing___Text] = None,
        accent_color: typing___Optional[typing___Text] = None,
        allow_flexible_color: typing___Optional[builtin___bool] = None,
        call_to_action_text: typing___Optional[typing___Text] = None,
        price_prefix: typing___Optional[typing___Text] = None,
        promo_text: typing___Optional[typing___Text] = None,
        format_setting: typing___Optional[
            google___ads___googleads___v6___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum.DisplayAdFormatSettingValue
        ] = None,
        control_spec: typing___Optional[type___ResponsiveDisplayAdControlSpec] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_accent_color",
            b"_accent_color",
            "_allow_flexible_color",
            b"_allow_flexible_color",
            "_business_name",
            b"_business_name",
            "_call_to_action_text",
            b"_call_to_action_text",
            "_main_color",
            b"_main_color",
            "_price_prefix",
            b"_price_prefix",
            "_promo_text",
            b"_promo_text",
            "accent_color",
            b"accent_color",
            "allow_flexible_color",
            b"allow_flexible_color",
            "business_name",
            b"business_name",
            "call_to_action_text",
            b"call_to_action_text",
            "control_spec",
            b"control_spec",
            "long_headline",
            b"long_headline",
            "main_color",
            b"main_color",
            "price_prefix",
            b"price_prefix",
            "promo_text",
            b"promo_text",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_accent_color",
            b"_accent_color",
            "_allow_flexible_color",
            b"_allow_flexible_color",
            "_business_name",
            b"_business_name",
            "_call_to_action_text",
            b"_call_to_action_text",
            "_main_color",
            b"_main_color",
            "_price_prefix",
            b"_price_prefix",
            "_promo_text",
            b"_promo_text",
            "accent_color",
            b"accent_color",
            "allow_flexible_color",
            b"allow_flexible_color",
            "business_name",
            b"business_name",
            "call_to_action_text",
            b"call_to_action_text",
            "control_spec",
            b"control_spec",
            "descriptions",
            b"descriptions",
            "format_setting",
            b"format_setting",
            "headlines",
            b"headlines",
            "logo_images",
            b"logo_images",
            "long_headline",
            b"long_headline",
            "main_color",
            b"main_color",
            "marketing_images",
            b"marketing_images",
            "price_prefix",
            b"price_prefix",
            "promo_text",
            b"promo_text",
            "square_logo_images",
            b"square_logo_images",
            "square_marketing_images",
            b"square_marketing_images",
            "youtube_videos",
            b"youtube_videos",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_accent_color", b"_accent_color"],
    ) -> typing_extensions___Literal["accent_color"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_allow_flexible_color", b"_allow_flexible_color"
        ],
    ) -> typing_extensions___Literal["allow_flexible_color"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_business_name", b"_business_name"],
    ) -> typing_extensions___Literal["business_name"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal[
            "_call_to_action_text", b"_call_to_action_text"
        ],
    ) -> typing_extensions___Literal["call_to_action_text"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_main_color", b"_main_color"]
    ) -> typing_extensions___Literal["main_color"]: ...
    @typing___overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions___Literal["_price_prefix", b"_price_prefix"],
    ) -> typing_extensions___Literal["price_prefix"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_promo_text", b"_promo_text"]
    ) -> typing_extensions___Literal["promo_text"]: ...

type___ResponsiveDisplayAdInfo = ResponsiveDisplayAdInfo

class LocalAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    path1: typing___Text = ...
    path2: typing___Text = ...
    @property
    def headlines(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def descriptions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def call_to_actions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def marketing_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def logo_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def videos(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v6___common___ad_asset_pb2___AdVideoAsset
    ]: ...
    def __init__(
        self,
        *,
        headlines: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        descriptions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        call_to_actions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        marketing_images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        logo_images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        videos: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v6___common___ad_asset_pb2___AdVideoAsset
            ]
        ] = None,
        path1: typing___Optional[typing___Text] = None,
        path2: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "_path1",
            b"_path1",
            "_path2",
            b"_path2",
            "path1",
            b"path1",
            "path2",
            b"path2",
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "_path1",
            b"_path1",
            "_path2",
            b"_path2",
            "call_to_actions",
            b"call_to_actions",
            "descriptions",
            b"descriptions",
            "headlines",
            b"headlines",
            "logo_images",
            b"logo_images",
            "marketing_images",
            b"marketing_images",
            "path1",
            b"path1",
            "path2",
            b"path2",
            "videos",
            b"videos",
        ],
    ) -> None: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_path1", b"_path1"]
    ) -> typing_extensions___Literal["path1"]: ...
    @typing___overload
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["_path2", b"_path2"]
    ) -> typing_extensions___Literal["path2"]: ...

type___LocalAdInfo = LocalAdInfo

class DisplayUploadAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    display_upload_product_type: google___ads___googleads___v6___enums___display_upload_product_type_pb2___DisplayUploadProductTypeEnum.DisplayUploadProductTypeValue = ...
    @property
    def media_bundle(
        self,
    ) -> google___ads___googleads___v6___common___ad_asset_pb2___AdMediaBundleAsset: ...
    def __init__(
        self,
        *,
        display_upload_product_type: typing___Optional[
            google___ads___googleads___v6___enums___display_upload_product_type_pb2___DisplayUploadProductTypeEnum.DisplayUploadProductTypeValue
        ] = None,
        media_bundle: typing___Optional[
            google___ads___googleads___v6___common___ad_asset_pb2___AdMediaBundleAsset
        ] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "media_asset", b"media_asset", "media_bundle", b"media_bundle"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "display_upload_product_type",
            b"display_upload_product_type",
            "media_asset",
            b"media_asset",
            "media_bundle",
            b"media_bundle",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["media_asset", b"media_asset"]
    ) -> typing_extensions___Literal["media_bundle"]: ...

type___DisplayUploadAdInfo = DisplayUploadAdInfo

class ResponsiveDisplayAdControlSpec(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    enable_asset_enhancements: builtin___bool = ...
    enable_autogen_video: builtin___bool = ...
    def __init__(
        self,
        *,
        enable_asset_enhancements: typing___Optional[builtin___bool] = None,
        enable_autogen_video: typing___Optional[builtin___bool] = None,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "enable_asset_enhancements",
            b"enable_asset_enhancements",
            "enable_autogen_video",
            b"enable_autogen_video",
        ],
    ) -> None: ...

type___ResponsiveDisplayAdControlSpec = ResponsiveDisplayAdControlSpec
