# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.ads.google_ads.v1.proto.common.ad_asset_pb2 import (
    AdImageAsset as google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset,
    AdMediaBundleAsset as google___ads___googleads___v1___common___ad_asset_pb2___AdMediaBundleAsset,
    AdTextAsset as google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset,
    AdVideoAsset as google___ads___googleads___v1___common___ad_asset_pb2___AdVideoAsset,
)

from google.ads.google_ads.v1.proto.enums.call_conversion_reporting_state_pb2 import (
    CallConversionReportingStateEnum as google___ads___googleads___v1___enums___call_conversion_reporting_state_pb2___CallConversionReportingStateEnum,
)

from google.ads.google_ads.v1.proto.enums.display_ad_format_setting_pb2 import (
    DisplayAdFormatSettingEnum as google___ads___googleads___v1___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum,
)

from google.ads.google_ads.v1.proto.enums.display_upload_product_type_pb2 import (
    DisplayUploadProductTypeEnum as google___ads___googleads___v1___enums___display_upload_product_type_pb2___DisplayUploadProductTypeEnum,
)

from google.ads.google_ads.v1.proto.enums.legacy_app_install_ad_app_store_pb2 import (
    LegacyAppInstallAdAppStoreEnum as google___ads___googleads___v1___enums___legacy_app_install_ad_app_store_pb2___LegacyAppInstallAdAppStoreEnum,
)

from google.ads.google_ads.v1.proto.enums.mime_type_pb2 import (
    MimeTypeEnum as google___ads___googleads___v1___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,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


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

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

class CallOnlyAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    conversion_reporting_state = ... # type: google___ads___googleads___v1___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___v1___enums___call_conversion_reporting_state_pb2___CallConversionReportingStateEnum.CallConversionReportingState] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> CallOnlyAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"business_name",u"call_tracked",u"conversion_action",u"country_code",u"description1",u"description2",u"disable_call_conversion",u"headline1",u"headline2",u"phone_number",u"phone_number_verification_url"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"business_name",u"call_tracked",u"conversion_action",u"conversion_reporting_state",u"country_code",u"description1",u"description2",u"disable_call_conversion",u"headline1",u"headline2",u"phone_number",u"phone_number_verification_url"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"business_name",b"business_name",u"call_tracked",b"call_tracked",u"conversion_action",b"conversion_action",u"country_code",b"country_code",u"description1",b"description1",u"description2",b"description2",u"disable_call_conversion",b"disable_call_conversion",u"headline1",b"headline1",u"headline2",b"headline2",u"phone_number",b"phone_number",u"phone_number_verification_url",b"phone_number_verification_url"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"business_name",b"business_name",u"call_tracked",b"call_tracked",u"conversion_action",b"conversion_action",u"conversion_reporting_state",b"conversion_reporting_state",u"country_code",b"country_code",u"description1",b"description1",u"description2",b"description2",u"disable_call_conversion",b"disable_call_conversion",u"headline1",b"headline1",u"headline2",b"headline2",u"phone_number",b"phone_number",u"phone_number_verification_url",b"phone_number_verification_url"]) -> None: ...

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

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

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

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

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

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

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

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

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

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

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

    @property
    def teaser(self) -> 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) -> DisplayCallToAction: ...

    @property
    def product_images(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[ProductImage]: ...

    @property
    def product_videos(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[ProductVideo]: ...

    def __init__(self,
        *,
        teaser : typing___Optional[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[DisplayCallToAction] = None,
        product_images : typing___Optional[typing___Iterable[ProductImage]] = None,
        product_videos : typing___Optional[typing___Iterable[ProductVideo]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> GmailAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"header_image",u"marketing_image",u"marketing_image_description",u"marketing_image_display_call_to_action",u"marketing_image_headline",u"teaser"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"header_image",u"marketing_image",u"marketing_image_description",u"marketing_image_display_call_to_action",u"marketing_image_headline",u"product_images",u"product_videos",u"teaser"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"header_image",b"header_image",u"marketing_image",b"marketing_image",u"marketing_image_description",b"marketing_image_description",u"marketing_image_display_call_to_action",b"marketing_image_display_call_to_action",u"marketing_image_headline",b"marketing_image_headline",u"teaser",b"teaser"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"header_image",b"header_image",u"marketing_image",b"marketing_image",u"marketing_image_description",b"marketing_image_description",u"marketing_image_display_call_to_action",b"marketing_image_display_call_to_action",u"marketing_image_headline",b"marketing_image_headline",u"product_images",b"product_images",u"product_videos",b"product_videos",u"teaser",b"teaser"]) -> None: ...

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

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

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

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

class ImageAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    mime_type = ... # type: google___ads___googleads___v1___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___v1___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: ...
    @classmethod
    def FromString(cls, s: bytes) -> ImageAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"ad_id_to_copy_image_from",u"data",u"image",u"image_url",u"media_file",u"name",u"pixel_height",u"pixel_width",u"preview_image_url",u"preview_pixel_height",u"preview_pixel_width"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"ad_id_to_copy_image_from",u"data",u"image",u"image_url",u"media_file",u"mime_type",u"name",u"pixel_height",u"pixel_width",u"preview_image_url",u"preview_pixel_height",u"preview_pixel_width"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"ad_id_to_copy_image_from",b"ad_id_to_copy_image_from",u"data",b"data",u"image",b"image",u"image_url",b"image_url",u"media_file",b"media_file",u"name",b"name",u"pixel_height",b"pixel_height",u"pixel_width",b"pixel_width",u"preview_image_url",b"preview_image_url",u"preview_pixel_height",b"preview_pixel_height",u"preview_pixel_width",b"preview_pixel_width"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"ad_id_to_copy_image_from",b"ad_id_to_copy_image_from",u"data",b"data",u"image",b"image",u"image_url",b"image_url",u"media_file",b"media_file",u"mime_type",b"mime_type",u"name",b"name",u"pixel_height",b"pixel_height",u"pixel_width",b"pixel_width",u"preview_image_url",b"preview_image_url",u"preview_pixel_height",b"preview_pixel_height",u"preview_pixel_width",b"preview_pixel_width"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"image",b"image"]) -> typing_extensions___Literal["media_file","data","ad_id_to_copy_image_from"]: ...

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

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

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

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

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

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

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) -> VideoTrueViewInStreamAdInfo: ...

    @property
    def bumper(self) -> VideoBumperInStreamAdInfo: ...

    @property
    def out_stream(self) -> VideoOutstreamAdInfo: ...

    @property
    def non_skippable(self) -> VideoNonSkippableInStreamAdInfo: ...

    def __init__(self,
        *,
        media_file : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        in_stream : typing___Optional[VideoTrueViewInStreamAdInfo] = None,
        bumper : typing___Optional[VideoBumperInStreamAdInfo] = None,
        out_stream : typing___Optional[VideoOutstreamAdInfo] = None,
        non_skippable : typing___Optional[VideoNonSkippableInStreamAdInfo] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> VideoAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"bumper",u"format",u"in_stream",u"media_file",u"non_skippable",u"out_stream"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"bumper",u"format",u"in_stream",u"media_file",u"non_skippable",u"out_stream"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"bumper",b"bumper",u"format",b"format",u"in_stream",b"in_stream",u"media_file",b"media_file",u"non_skippable",b"non_skippable",u"out_stream",b"out_stream"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"bumper",b"bumper",u"format",b"format",u"in_stream",b"in_stream",u"media_file",b"media_file",u"non_skippable",b"non_skippable",u"out_stream",b"out_stream"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"format",b"format"]) -> typing_extensions___Literal["in_stream","bumper","out_stream","non_skippable"]: ...

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

    @property
    def headlines(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]: ...

    @property
    def descriptions(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___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___v1___common___ad_asset_pb2___AdTextAsset]] = None,
        descriptions : typing___Optional[typing___Iterable[google___ads___googleads___v1___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: ...
    @classmethod
    def FromString(cls, s: bytes) -> ResponsiveSearchAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"path1",u"path2"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"descriptions",u"headlines",u"path1",u"path2"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"path1",b"path1",u"path2",b"path2"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"descriptions",b"descriptions",u"headlines",b"headlines",u"path1",b"path1",u"path2",b"path2"]) -> None: ...

class LegacyResponsiveDisplayAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    format_setting = ... # type: google___ads___googleads___v1___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___v1___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: ...
    @classmethod
    def FromString(cls, s: bytes) -> LegacyResponsiveDisplayAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"accent_color",u"allow_flexible_color",u"business_name",u"call_to_action_text",u"description",u"logo_image",u"long_headline",u"main_color",u"marketing_image",u"price_prefix",u"promo_text",u"short_headline",u"square_logo_image",u"square_marketing_image"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"accent_color",u"allow_flexible_color",u"business_name",u"call_to_action_text",u"description",u"format_setting",u"logo_image",u"long_headline",u"main_color",u"marketing_image",u"price_prefix",u"promo_text",u"short_headline",u"square_logo_image",u"square_marketing_image"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"accent_color",b"accent_color",u"allow_flexible_color",b"allow_flexible_color",u"business_name",b"business_name",u"call_to_action_text",b"call_to_action_text",u"description",b"description",u"logo_image",b"logo_image",u"long_headline",b"long_headline",u"main_color",b"main_color",u"marketing_image",b"marketing_image",u"price_prefix",b"price_prefix",u"promo_text",b"promo_text",u"short_headline",b"short_headline",u"square_logo_image",b"square_logo_image",u"square_marketing_image",b"square_marketing_image"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"accent_color",b"accent_color",u"allow_flexible_color",b"allow_flexible_color",u"business_name",b"business_name",u"call_to_action_text",b"call_to_action_text",u"description",b"description",u"format_setting",b"format_setting",u"logo_image",b"logo_image",u"long_headline",b"long_headline",u"main_color",b"main_color",u"marketing_image",b"marketing_image",u"price_prefix",b"price_prefix",u"promo_text",b"promo_text",u"short_headline",b"short_headline",u"square_logo_image",b"square_logo_image",u"square_marketing_image",b"square_marketing_image"]) -> None: ...

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

    @property
    def mandatory_ad_text(self) -> google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset: ...

    @property
    def headlines(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]: ...

    @property
    def descriptions(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]: ...

    @property
    def images(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset]: ...

    @property
    def youtube_videos(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdVideoAsset]: ...

    @property
    def html5_media_bundles(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdMediaBundleAsset]: ...

    def __init__(self,
        *,
        mandatory_ad_text : typing___Optional[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset] = None,
        headlines : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]] = None,
        descriptions : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]] = None,
        images : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset]] = None,
        youtube_videos : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdVideoAsset]] = None,
        html5_media_bundles : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdMediaBundleAsset]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> AppAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"mandatory_ad_text"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"descriptions",u"headlines",u"html5_media_bundles",u"images",u"mandatory_ad_text",u"youtube_videos"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"mandatory_ad_text",b"mandatory_ad_text"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"descriptions",b"descriptions",u"headlines",b"headlines",u"html5_media_bundles",b"html5_media_bundles",u"images",b"images",u"mandatory_ad_text",b"mandatory_ad_text",u"youtube_videos",b"youtube_videos"]) -> None: ...

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

    @property
    def headlines(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]: ...

    @property
    def descriptions(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]: ...

    @property
    def images(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset]: ...

    @property
    def videos(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdVideoAsset]: ...

    def __init__(self,
        *,
        headlines : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]] = None,
        descriptions : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]] = None,
        images : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset]] = None,
        videos : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdVideoAsset]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> AppEngagementAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"descriptions",u"headlines",u"images",u"videos"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"descriptions",b"descriptions",u"headlines",b"headlines",u"images",b"images",u"videos",b"videos"]) -> None: ...

class LegacyAppInstallAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    app_store = ... # type: google___ads___googleads___v1___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___v1___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: ...
    @classmethod
    def FromString(cls, s: bytes) -> LegacyAppInstallAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"app_id",u"description1",u"description2",u"headline"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"app_id",u"app_store",u"description1",u"description2",u"headline"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"app_id",b"app_id",u"description1",b"description1",u"description2",b"description2",u"headline",b"headline"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"app_id",b"app_id",u"app_store",b"app_store",u"description1",b"description1",u"description2",b"description2",u"headline",b"headline"]) -> None: ...

class ResponsiveDisplayAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    format_setting = ... # type: google___ads___googleads___v1___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum.DisplayAdFormatSetting

    @property
    def marketing_images(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset]: ...

    @property
    def square_marketing_images(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset]: ...

    @property
    def logo_images(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset]: ...

    @property
    def square_logo_images(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset]: ...

    @property
    def headlines(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]: ...

    @property
    def long_headline(self) -> google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset: ...

    @property
    def descriptions(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]: ...

    @property
    def youtube_videos(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v1___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___v1___common___ad_asset_pb2___AdImageAsset]] = None,
        square_marketing_images : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset]] = None,
        logo_images : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset]] = None,
        square_logo_images : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdImageAsset]] = None,
        headlines : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]] = None,
        long_headline : typing___Optional[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset] = None,
        descriptions : typing___Optional[typing___Iterable[google___ads___googleads___v1___common___ad_asset_pb2___AdTextAsset]] = None,
        youtube_videos : typing___Optional[typing___Iterable[google___ads___googleads___v1___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___v1___enums___display_ad_format_setting_pb2___DisplayAdFormatSettingEnum.DisplayAdFormatSetting] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ResponsiveDisplayAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"accent_color",u"allow_flexible_color",u"business_name",u"call_to_action_text",u"long_headline",u"main_color",u"price_prefix",u"promo_text"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"accent_color",u"allow_flexible_color",u"business_name",u"call_to_action_text",u"descriptions",u"format_setting",u"headlines",u"logo_images",u"long_headline",u"main_color",u"marketing_images",u"price_prefix",u"promo_text",u"square_logo_images",u"square_marketing_images",u"youtube_videos"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"accent_color",b"accent_color",u"allow_flexible_color",b"allow_flexible_color",u"business_name",b"business_name",u"call_to_action_text",b"call_to_action_text",u"long_headline",b"long_headline",u"main_color",b"main_color",u"price_prefix",b"price_prefix",u"promo_text",b"promo_text"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"accent_color",b"accent_color",u"allow_flexible_color",b"allow_flexible_color",u"business_name",b"business_name",u"call_to_action_text",b"call_to_action_text",u"descriptions",b"descriptions",u"format_setting",b"format_setting",u"headlines",b"headlines",u"logo_images",b"logo_images",u"long_headline",b"long_headline",u"main_color",b"main_color",u"marketing_images",b"marketing_images",u"price_prefix",b"price_prefix",u"promo_text",b"promo_text",u"square_logo_images",b"square_logo_images",u"square_marketing_images",b"square_marketing_images",u"youtube_videos",b"youtube_videos"]) -> None: ...

class DisplayUploadAdInfo(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    display_upload_product_type = ... # type: google___ads___googleads___v1___enums___display_upload_product_type_pb2___DisplayUploadProductTypeEnum.DisplayUploadProductType

    @property
    def media_bundle(self) -> google___ads___googleads___v1___common___ad_asset_pb2___AdMediaBundleAsset: ...

    def __init__(self,
        *,
        display_upload_product_type : typing___Optional[google___ads___googleads___v1___enums___display_upload_product_type_pb2___DisplayUploadProductTypeEnum.DisplayUploadProductType] = None,
        media_bundle : typing___Optional[google___ads___googleads___v1___common___ad_asset_pb2___AdMediaBundleAsset] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DisplayUploadAdInfo: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"media_asset",u"media_bundle"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"display_upload_product_type",u"media_asset",u"media_bundle"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"media_asset",b"media_asset",u"media_bundle",b"media_bundle"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"display_upload_product_type",b"display_upload_product_type",u"media_asset",b"media_asset",u"media_bundle",b"media_bundle"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"media_asset",b"media_asset"]) -> typing_extensions___Literal["media_bundle"]: ...
