# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.ads.google_ads.v2.proto.common.ad_asset_pb2 import (
    AdImageAsset as google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset,
    AdMediaBundleAsset as google___ads___googleads___v2___common___ad_asset_pb2___AdMediaBundleAsset,
    AdTextAsset as google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset,
    AdVideoAsset as google___ads___googleads___v2___common___ad_asset_pb2___AdVideoAsset,
)

from google.ads.google_ads.v2.proto.enums.call_conversion_reporting_state_pb2 import (
    CallConversionReportingStateEnum as google___ads___googleads___v2___enums___call_conversion_reporting_state_pb2___CallConversionReportingStateEnum,
)

from google.ads.google_ads.v2.proto.enums.display_ad_format_setting_pb2 import (
    DisplayAdFormatSettingEnum as google___ads___googleads___v2___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum,
)

from google.ads.google_ads.v2.proto.enums.display_upload_product_type_pb2 import (
    DisplayUploadProductTypeEnum as google___ads___googleads___v2___enums___display_upload_product_type_pb2___DisplayUploadProductTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.legacy_app_install_ad_app_store_pb2 import (
    LegacyAppInstallAdAppStoreEnum as google___ads___googleads___v2___enums___legacy_app_install_ad_app_store_pb2___LegacyAppInstallAdAppStoreEnum,
)

from google.ads.google_ads.v2.proto.enums.mime_type_pb2 import (
    MimeTypeEnum as google___ads___googleads___v2___enums___mime_type_pb2___MimeTypeEnum,
)

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

from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
)

from google.protobuf.message import Message as google___protobuf___message___Message

from google.protobuf.wrappers_pb2 import (
    BoolValue as google___protobuf___wrappers_pb2___BoolValue,
    BytesValue as google___protobuf___wrappers_pb2___BytesValue,
    Int64Value as google___protobuf___wrappers_pb2___Int64Value,
    StringValue as google___protobuf___wrappers_pb2___StringValue,
)

from typing import (
    Iterable as typing___Iterable,
    Optional as typing___Optional,
    Union as typing___Union,
)

from typing_extensions import Literal as typing_extensions___Literal

builtin___bool = bool
builtin___bytes = bytes
builtin___float = float
builtin___int = int
if sys.version_info < (3,):
    builtin___buffer = buffer
    builtin___unicode = unicode

class TextAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def headline(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description1(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description2(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        headline: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description1: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description2: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> TextAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> TextAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "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",
        ],
    ) -> None: ...

global___TextAdInfo = TextAdInfo

class ExpandedTextAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def headline_part1(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def headline_part2(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def headline_part3(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description2(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def path1(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def path2(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        headline_part1: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        headline_part2: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        headline_part3: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description2: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        path1: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        path2: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ExpandedTextAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> ExpandedTextAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> 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",
        ],
    ) -> 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",
        ],
    ) -> None: ...

global___ExpandedTextAdInfo = ExpandedTextAdInfo

class CallOnlyAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    conversion_reporting_state = (
        ...
    )  # type: google___ads___googleads___v2___enums___call_conversion_reporting_state_pb2___CallConversionReportingStateEnum.CallConversionReportingState
    @property
    def country_code(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def phone_number(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def business_name(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def headline1(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def headline2(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description1(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description2(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def call_tracked(self) -> google___protobuf___wrappers_pb2___BoolValue: ...
    @property
    def disable_call_conversion(
        self,
    ) -> google___protobuf___wrappers_pb2___BoolValue: ...
    @property
    def phone_number_verification_url(
        self,
    ) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def conversion_action(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        country_code: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        phone_number: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        business_name: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        headline1: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        headline2: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description1: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description2: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        call_tracked: typing___Optional[
            google___protobuf___wrappers_pb2___BoolValue
        ] = None,
        disable_call_conversion: typing___Optional[
            google___protobuf___wrappers_pb2___BoolValue
        ] = None,
        phone_number_verification_url: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        conversion_action: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        conversion_reporting_state: typing___Optional[
            google___ads___googleads___v2___enums___call_conversion_reporting_state_pb2___CallConversionReportingStateEnum.CallConversionReportingState
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> CallOnlyAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> CallOnlyAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> 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",
        ],
    ) -> 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",
            "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: ...

global___CallOnlyAdInfo = CallOnlyAdInfo

class ExpandedDynamicSearchAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def description(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description2(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        description: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description2: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ExpandedDynamicSearchAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> ExpandedDynamicSearchAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "description", b"description", "description2", b"description2"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "description", b"description", "description2", b"description2"
        ],
    ) -> None: ...

global___ExpandedDynamicSearchAdInfo = ExpandedDynamicSearchAdInfo

class HotelAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    def __init__(self,) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> HotelAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> HotelAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

global___HotelAdInfo = HotelAdInfo

class ShoppingSmartAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    def __init__(self,) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ShoppingSmartAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> ShoppingSmartAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

global___ShoppingSmartAdInfo = ShoppingSmartAdInfo

class ShoppingProductAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    def __init__(self,) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ShoppingProductAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> ShoppingProductAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

global___ShoppingProductAdInfo = ShoppingProductAdInfo

class ShoppingComparisonListingAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def headline(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        headline: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ShoppingComparisonListingAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> ShoppingComparisonListingAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["headline", b"headline"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["headline", b"headline"]
    ) -> None: ...

global___ShoppingComparisonListingAdInfo = ShoppingComparisonListingAdInfo

class GmailAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def teaser(self) -> global___GmailTeaser: ...
    @property
    def header_image(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def marketing_image(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def marketing_image_headline(
        self,
    ) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def marketing_image_description(
        self,
    ) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def marketing_image_display_call_to_action(
        self,
    ) -> global___DisplayCallToAction: ...
    @property
    def product_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        global___ProductImage
    ]: ...
    @property
    def product_videos(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        global___ProductVideo
    ]: ...
    def __init__(
        self,
        *,
        teaser: typing___Optional[global___GmailTeaser] = None,
        header_image: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        marketing_image: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        marketing_image_headline: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        marketing_image_description: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        marketing_image_display_call_to_action: typing___Optional[
            global___DisplayCallToAction
        ] = None,
        product_images: typing___Optional[
            typing___Iterable[global___ProductImage]
        ] = None,
        product_videos: typing___Optional[
            typing___Iterable[global___ProductVideo]
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> GmailAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> GmailAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> 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_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_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: ...

global___GmailAdInfo = GmailAdInfo

class GmailTeaser(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def headline(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def business_name(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def logo_image(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        headline: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        business_name: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        logo_image: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> GmailTeaser: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> GmailTeaser: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> 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",
        ],
    ) -> 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",
        ],
    ) -> None: ...

global___GmailTeaser = GmailTeaser

class DisplayCallToAction(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def text(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def text_color(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def url_collection_id(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        text: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        text_color: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        url_collection_id: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> DisplayCallToAction: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> DisplayCallToAction: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "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",
        ],
    ) -> None: ...

global___DisplayCallToAction = DisplayCallToAction

class ProductImage(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def product_image(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def display_call_to_action(self) -> global___DisplayCallToAction: ...
    def __init__(
        self,
        *,
        product_image: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        display_call_to_action: typing___Optional[global___DisplayCallToAction] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ProductImage: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> ProductImage: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "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",
            "display_call_to_action",
            b"display_call_to_action",
            "product_image",
            b"product_image",
        ],
    ) -> None: ...

global___ProductImage = ProductImage

class ProductVideo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def product_video(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        product_video: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ProductVideo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> ProductVideo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["product_video", b"product_video"]
    ) -> builtin___bool: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["product_video", b"product_video"]
    ) -> None: ...

global___ProductVideo = ProductVideo

class ImageAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    mime_type = (
        ...
    )  # type: google___ads___googleads___v2___enums___mime_type_pb2___MimeTypeEnum.MimeType
    @property
    def pixel_width(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    @property
    def pixel_height(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    @property
    def image_url(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def preview_pixel_width(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    @property
    def preview_pixel_height(self) -> google___protobuf___wrappers_pb2___Int64Value: ...
    @property
    def preview_image_url(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def name(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def media_file(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def data(self) -> google___protobuf___wrappers_pb2___BytesValue: ...
    @property
    def ad_id_to_copy_image_from(
        self,
    ) -> google___protobuf___wrappers_pb2___Int64Value: ...
    def __init__(
        self,
        *,
        pixel_width: typing___Optional[
            google___protobuf___wrappers_pb2___Int64Value
        ] = None,
        pixel_height: typing___Optional[
            google___protobuf___wrappers_pb2___Int64Value
        ] = None,
        image_url: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        preview_pixel_width: typing___Optional[
            google___protobuf___wrappers_pb2___Int64Value
        ] = None,
        preview_pixel_height: typing___Optional[
            google___protobuf___wrappers_pb2___Int64Value
        ] = None,
        preview_image_url: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        mime_type: typing___Optional[
            google___ads___googleads___v2___enums___mime_type_pb2___MimeTypeEnum.MimeType
        ] = None,
        name: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        media_file: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        data: typing___Optional[google___protobuf___wrappers_pb2___BytesValue] = None,
        ad_id_to_copy_image_from: typing___Optional[
            google___protobuf___wrappers_pb2___Int64Value
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ImageAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> ImageAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "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[
            "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: ...
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["image", b"image"]
    ) -> typing_extensions___Literal[
        "media_file", "data", "ad_id_to_copy_image_from"
    ]: ...

global___ImageAdInfo = ImageAdInfo

class VideoBumperInStreamAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def companion_banner(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        companion_banner: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> VideoBumperInStreamAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> VideoBumperInStreamAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "companion_banner", b"companion_banner"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "companion_banner", b"companion_banner"
        ],
    ) -> None: ...

global___VideoBumperInStreamAdInfo = VideoBumperInStreamAdInfo

class VideoNonSkippableInStreamAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def companion_banner(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        companion_banner: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> VideoNonSkippableInStreamAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> VideoNonSkippableInStreamAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "companion_banner", b"companion_banner"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "companion_banner", b"companion_banner"
        ],
    ) -> None: ...

global___VideoNonSkippableInStreamAdInfo = VideoNonSkippableInStreamAdInfo

class VideoTrueViewInStreamAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def action_button_label(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def action_headline(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def companion_banner(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        action_button_label: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        action_headline: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        companion_banner: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> VideoTrueViewInStreamAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> VideoTrueViewInStreamAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> 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",
        ],
    ) -> 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",
        ],
    ) -> None: ...

global___VideoTrueViewInStreamAdInfo = VideoTrueViewInStreamAdInfo

class VideoOutstreamAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def headline(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        headline: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> VideoOutstreamAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> VideoOutstreamAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "description", b"description", "headline", b"headline"
        ],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "description", b"description", "headline", b"headline"
        ],
    ) -> None: ...

global___VideoOutstreamAdInfo = VideoOutstreamAdInfo

class VideoAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def media_file(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def in_stream(self) -> global___VideoTrueViewInStreamAdInfo: ...
    @property
    def bumper(self) -> global___VideoBumperInStreamAdInfo: ...
    @property
    def out_stream(self) -> global___VideoOutstreamAdInfo: ...
    @property
    def non_skippable(self) -> global___VideoNonSkippableInStreamAdInfo: ...
    def __init__(
        self,
        *,
        media_file: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        in_stream: typing___Optional[global___VideoTrueViewInStreamAdInfo] = None,
        bumper: typing___Optional[global___VideoBumperInStreamAdInfo] = None,
        out_stream: typing___Optional[global___VideoOutstreamAdInfo] = None,
        non_skippable: typing___Optional[
            global___VideoNonSkippableInStreamAdInfo
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> VideoAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> VideoAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "bumper",
            b"bumper",
            "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[
            "bumper",
            b"bumper",
            "format",
            b"format",
            "in_stream",
            b"in_stream",
            "media_file",
            b"media_file",
            "non_skippable",
            b"non_skippable",
            "out_stream",
            b"out_stream",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions___Literal["format", b"format"]
    ) -> typing_extensions___Literal[
        "in_stream", "bumper", "out_stream", "non_skippable"
    ]: ...

global___VideoAdInfo = VideoAdInfo

class ResponsiveSearchAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def headlines(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def descriptions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def path1(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def path2(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        headlines: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        descriptions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        path1: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        path2: typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ResponsiveSearchAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> ResponsiveSearchAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal["path1", b"path1", "path2", b"path2"],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "descriptions",
            b"descriptions",
            "headlines",
            b"headlines",
            "path1",
            b"path1",
            "path2",
            b"path2",
        ],
    ) -> None: ...

global___ResponsiveSearchAdInfo = ResponsiveSearchAdInfo

class LegacyResponsiveDisplayAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    format_setting = (
        ...
    )  # type: google___ads___googleads___v2___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum.DisplayAdFormatSetting
    @property
    def short_headline(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def long_headline(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def business_name(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def allow_flexible_color(self) -> google___protobuf___wrappers_pb2___BoolValue: ...
    @property
    def accent_color(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def main_color(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def call_to_action_text(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def logo_image(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def square_logo_image(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def marketing_image(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def square_marketing_image(
        self,
    ) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def price_prefix(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def promo_text(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        short_headline: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        long_headline: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        business_name: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        allow_flexible_color: typing___Optional[
            google___protobuf___wrappers_pb2___BoolValue
        ] = None,
        accent_color: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        main_color: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        call_to_action_text: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        logo_image: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        square_logo_image: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        marketing_image: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        square_marketing_image: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        format_setting: typing___Optional[
            google___ads___googleads___v2___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum.DisplayAdFormatSetting
        ] = None,
        price_prefix: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        promo_text: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> LegacyResponsiveDisplayAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> LegacyResponsiveDisplayAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> 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",
        ],
    ) -> 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",
            "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: ...

global___LegacyResponsiveDisplayAdInfo = LegacyResponsiveDisplayAdInfo

class AppAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    @property
    def mandatory_ad_text(
        self,
    ) -> google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset: ...
    @property
    def headlines(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def descriptions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def youtube_videos(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdVideoAsset
    ]: ...
    @property
    def html5_media_bundles(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdMediaBundleAsset
    ]: ...
    def __init__(
        self,
        *,
        mandatory_ad_text: typing___Optional[
            google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
        ] = None,
        headlines: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        descriptions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        youtube_videos: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdVideoAsset
            ]
        ] = None,
        html5_media_bundles: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdMediaBundleAsset
            ]
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> AppAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> AppAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> 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: ...

global___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___v2___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def descriptions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def videos(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdVideoAsset
    ]: ...
    def __init__(
        self,
        *,
        headlines: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        descriptions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        videos: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdVideoAsset
            ]
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> AppEngagementAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> AppEngagementAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "descriptions",
            b"descriptions",
            "headlines",
            b"headlines",
            "images",
            b"images",
            "videos",
            b"videos",
        ],
    ) -> None: ...

global___AppEngagementAdInfo = AppEngagementAdInfo

class LegacyAppInstallAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    app_store = (
        ...
    )  # type: google___ads___googleads___v2___enums___legacy_app_install_ad_app_store_pb2___LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
    @property
    def app_id(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def headline(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description1(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def description2(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        app_id: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        app_store: typing___Optional[
            google___ads___googleads___v2___enums___legacy_app_install_ad_app_store_pb2___LegacyAppInstallAdAppStoreEnum.LegacyAppInstallAdAppStore
        ] = None,
        headline: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description1: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        description2: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> LegacyAppInstallAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> LegacyAppInstallAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal[
            "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",
            "app_store",
            b"app_store",
            "description1",
            b"description1",
            "description2",
            b"description2",
            "headline",
            b"headline",
        ],
    ) -> None: ...

global___LegacyAppInstallAdInfo = LegacyAppInstallAdInfo

class ResponsiveDisplayAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    format_setting = (
        ...
    )  # type: google___ads___googleads___v2___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum.DisplayAdFormatSetting
    @property
    def marketing_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def square_marketing_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def logo_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def square_logo_images(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
    ]: ...
    @property
    def headlines(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def long_headline(
        self,
    ) -> google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset: ...
    @property
    def descriptions(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
    ]: ...
    @property
    def youtube_videos(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[
        google___ads___googleads___v2___common___ad_asset_pb2___AdVideoAsset
    ]: ...
    @property
    def business_name(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def main_color(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def accent_color(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def allow_flexible_color(self) -> google___protobuf___wrappers_pb2___BoolValue: ...
    @property
    def call_to_action_text(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def price_prefix(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    @property
    def promo_text(self) -> google___protobuf___wrappers_pb2___StringValue: ...
    def __init__(
        self,
        *,
        marketing_images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        square_marketing_images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        logo_images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        square_logo_images: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdImageAsset
            ]
        ] = None,
        headlines: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        long_headline: typing___Optional[
            google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
        ] = None,
        descriptions: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdTextAsset
            ]
        ] = None,
        youtube_videos: typing___Optional[
            typing___Iterable[
                google___ads___googleads___v2___common___ad_asset_pb2___AdVideoAsset
            ]
        ] = None,
        business_name: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        main_color: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        accent_color: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        allow_flexible_color: typing___Optional[
            google___protobuf___wrappers_pb2___BoolValue
        ] = None,
        call_to_action_text: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        price_prefix: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        promo_text: typing___Optional[
            google___protobuf___wrappers_pb2___StringValue
        ] = None,
        format_setting: typing___Optional[
            google___ads___googleads___v2___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum.DisplayAdFormatSetting
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ResponsiveDisplayAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> ResponsiveDisplayAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> 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",
            "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",
            "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: ...

global___ResponsiveDisplayAdInfo = ResponsiveDisplayAdInfo

class DisplayUploadAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    display_upload_product_type = (
        ...
    )  # type: google___ads___googleads___v2___enums___display_upload_product_type_pb2___DisplayUploadProductTypeEnum.DisplayUploadProductType
    @property
    def media_bundle(
        self,
    ) -> google___ads___googleads___v2___common___ad_asset_pb2___AdMediaBundleAsset: ...
    def __init__(
        self,
        *,
        display_upload_product_type: typing___Optional[
            google___ads___googleads___v2___enums___display_upload_product_type_pb2___DisplayUploadProductTypeEnum.DisplayUploadProductType
        ] = None,
        media_bundle: typing___Optional[
            google___ads___googleads___v2___common___ad_asset_pb2___AdMediaBundleAsset
        ] = None,
    ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> DisplayUploadAdInfo: ...
    else:
        @classmethod
        def FromString(
            cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]
        ) -> DisplayUploadAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> 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"]: ...

global___DisplayUploadAdInfo = DisplayUploadAdInfo
