"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v4.proto.common.ad_type_infos_pb2
import google.ads.google_ads.v4.proto.common.custom_parameter_pb2
import google.ads.google_ads.v4.proto.common.final_app_url_pb2
import google.ads.google_ads.v4.proto.common.url_collection_pb2
import google.ads.google_ads.v4.proto.enums.ad_type_pb2
import google.ads.google_ads.v4.proto.enums.device_pb2
import google.ads.google_ads.v4.proto.enums.system_managed_entity_source_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.wrappers_pb2
import typing
import typing_extensions

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

class Ad(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    FINAL_URLS_FIELD_NUMBER: builtins.int
    FINAL_APP_URLS_FIELD_NUMBER: builtins.int
    FINAL_MOBILE_URLS_FIELD_NUMBER: builtins.int
    TRACKING_URL_TEMPLATE_FIELD_NUMBER: builtins.int
    FINAL_URL_SUFFIX_FIELD_NUMBER: builtins.int
    URL_CUSTOM_PARAMETERS_FIELD_NUMBER: builtins.int
    DISPLAY_URL_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    ADDED_BY_GOOGLE_ADS_FIELD_NUMBER: builtins.int
    DEVICE_PREFERENCE_FIELD_NUMBER: builtins.int
    URL_COLLECTIONS_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    SYSTEM_MANAGED_RESOURCE_SOURCE_FIELD_NUMBER: builtins.int
    TEXT_AD_FIELD_NUMBER: builtins.int
    EXPANDED_TEXT_AD_FIELD_NUMBER: builtins.int
    CALL_ONLY_AD_FIELD_NUMBER: builtins.int
    EXPANDED_DYNAMIC_SEARCH_AD_FIELD_NUMBER: builtins.int
    HOTEL_AD_FIELD_NUMBER: builtins.int
    SHOPPING_SMART_AD_FIELD_NUMBER: builtins.int
    SHOPPING_PRODUCT_AD_FIELD_NUMBER: builtins.int
    GMAIL_AD_FIELD_NUMBER: builtins.int
    IMAGE_AD_FIELD_NUMBER: builtins.int
    VIDEO_AD_FIELD_NUMBER: builtins.int
    RESPONSIVE_SEARCH_AD_FIELD_NUMBER: builtins.int
    LEGACY_RESPONSIVE_DISPLAY_AD_FIELD_NUMBER: builtins.int
    APP_AD_FIELD_NUMBER: builtins.int
    LEGACY_APP_INSTALL_AD_FIELD_NUMBER: builtins.int
    RESPONSIVE_DISPLAY_AD_FIELD_NUMBER: builtins.int
    LOCAL_AD_FIELD_NUMBER: builtins.int
    DISPLAY_UPLOAD_AD_FIELD_NUMBER: builtins.int
    APP_ENGAGEMENT_AD_FIELD_NUMBER: builtins.int
    SHOPPING_COMPARISON_LISTING_AD_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    type: google.ads.google_ads.v4.proto.enums.ad_type_pb2.AdTypeEnum.AdType.V = ...
    device_preference: google.ads.google_ads.v4.proto.enums.device_pb2.DeviceEnum.Device.V = (
        ...
    )
    system_managed_resource_source: google.ads.google_ads.v4.proto.enums.system_managed_entity_source_pb2.SystemManagedResourceSourceEnum.SystemManagedResourceSource.V = (
        ...
    )
    @property
    def id(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def final_urls(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def final_app_urls(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.ads.google_ads.v4.proto.common.final_app_url_pb2.FinalAppUrl
    ]: ...
    @property
    def final_mobile_urls(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.wrappers_pb2.StringValue
    ]: ...
    @property
    def tracking_url_template(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def final_url_suffix(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def url_custom_parameters(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.ads.google_ads.v4.proto.common.custom_parameter_pb2.CustomParameter
    ]: ...
    @property
    def display_url(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def added_by_google_ads(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def url_collections(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.ads.google_ads.v4.proto.common.url_collection_pb2.UrlCollection
    ]: ...
    @property
    def name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def text_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.TextAdInfo: ...
    @property
    def expanded_text_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ExpandedTextAdInfo: ...
    @property
    def call_only_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.CallOnlyAdInfo: ...
    @property
    def expanded_dynamic_search_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ExpandedDynamicSearchAdInfo: ...
    @property
    def hotel_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.HotelAdInfo: ...
    @property
    def shopping_smart_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ShoppingSmartAdInfo: ...
    @property
    def shopping_product_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ShoppingProductAdInfo: ...
    @property
    def gmail_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.GmailAdInfo: ...
    @property
    def image_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ImageAdInfo: ...
    @property
    def video_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.VideoAdInfo: ...
    @property
    def responsive_search_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ResponsiveSearchAdInfo: ...
    @property
    def legacy_responsive_display_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.LegacyResponsiveDisplayAdInfo: ...
    @property
    def app_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.AppAdInfo: ...
    @property
    def legacy_app_install_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.LegacyAppInstallAdInfo: ...
    @property
    def responsive_display_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ResponsiveDisplayAdInfo: ...
    @property
    def local_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.LocalAdInfo: ...
    @property
    def display_upload_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.DisplayUploadAdInfo: ...
    @property
    def app_engagement_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.AppEngagementAdInfo: ...
    @property
    def shopping_comparison_listing_ad(
        self,
    ) -> google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ShoppingComparisonListingAdInfo: ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        id: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        final_urls: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        final_app_urls: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.common.final_app_url_pb2.FinalAppUrl
            ]
        ] = ...,
        final_mobile_urls: typing.Optional[
            typing.Iterable[google.protobuf.wrappers_pb2.StringValue]
        ] = ...,
        tracking_url_template: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        final_url_suffix: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        url_custom_parameters: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.common.custom_parameter_pb2.CustomParameter
            ]
        ] = ...,
        display_url: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        type: google.ads.google_ads.v4.proto.enums.ad_type_pb2.AdTypeEnum.AdType.V = ...,
        added_by_google_ads: typing.Optional[
            google.protobuf.wrappers_pb2.BoolValue
        ] = ...,
        device_preference: google.ads.google_ads.v4.proto.enums.device_pb2.DeviceEnum.Device.V = ...,
        url_collections: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v4.proto.common.url_collection_pb2.UrlCollection
            ]
        ] = ...,
        name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        system_managed_resource_source: google.ads.google_ads.v4.proto.enums.system_managed_entity_source_pb2.SystemManagedResourceSourceEnum.SystemManagedResourceSource.V = ...,
        text_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.TextAdInfo
        ] = ...,
        expanded_text_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ExpandedTextAdInfo
        ] = ...,
        call_only_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.CallOnlyAdInfo
        ] = ...,
        expanded_dynamic_search_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ExpandedDynamicSearchAdInfo
        ] = ...,
        hotel_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.HotelAdInfo
        ] = ...,
        shopping_smart_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ShoppingSmartAdInfo
        ] = ...,
        shopping_product_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ShoppingProductAdInfo
        ] = ...,
        gmail_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.GmailAdInfo
        ] = ...,
        image_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ImageAdInfo
        ] = ...,
        video_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.VideoAdInfo
        ] = ...,
        responsive_search_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ResponsiveSearchAdInfo
        ] = ...,
        legacy_responsive_display_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.LegacyResponsiveDisplayAdInfo
        ] = ...,
        app_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.AppAdInfo
        ] = ...,
        legacy_app_install_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.LegacyAppInstallAdInfo
        ] = ...,
        responsive_display_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ResponsiveDisplayAdInfo
        ] = ...,
        local_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.LocalAdInfo
        ] = ...,
        display_upload_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.DisplayUploadAdInfo
        ] = ...,
        app_engagement_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.AppEngagementAdInfo
        ] = ...,
        shopping_comparison_listing_ad: typing.Optional[
            google.ads.google_ads.v4.proto.common.ad_type_infos_pb2.ShoppingComparisonListingAdInfo
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "ad_data",
            b"ad_data",
            "added_by_google_ads",
            b"added_by_google_ads",
            "app_ad",
            b"app_ad",
            "app_engagement_ad",
            b"app_engagement_ad",
            "call_only_ad",
            b"call_only_ad",
            "display_upload_ad",
            b"display_upload_ad",
            "display_url",
            b"display_url",
            "expanded_dynamic_search_ad",
            b"expanded_dynamic_search_ad",
            "expanded_text_ad",
            b"expanded_text_ad",
            "final_url_suffix",
            b"final_url_suffix",
            "gmail_ad",
            b"gmail_ad",
            "hotel_ad",
            b"hotel_ad",
            "id",
            b"id",
            "image_ad",
            b"image_ad",
            "legacy_app_install_ad",
            b"legacy_app_install_ad",
            "legacy_responsive_display_ad",
            b"legacy_responsive_display_ad",
            "local_ad",
            b"local_ad",
            "name",
            b"name",
            "responsive_display_ad",
            b"responsive_display_ad",
            "responsive_search_ad",
            b"responsive_search_ad",
            "shopping_comparison_listing_ad",
            b"shopping_comparison_listing_ad",
            "shopping_product_ad",
            b"shopping_product_ad",
            "shopping_smart_ad",
            b"shopping_smart_ad",
            "text_ad",
            b"text_ad",
            "tracking_url_template",
            b"tracking_url_template",
            "video_ad",
            b"video_ad",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "ad_data",
            b"ad_data",
            "added_by_google_ads",
            b"added_by_google_ads",
            "app_ad",
            b"app_ad",
            "app_engagement_ad",
            b"app_engagement_ad",
            "call_only_ad",
            b"call_only_ad",
            "device_preference",
            b"device_preference",
            "display_upload_ad",
            b"display_upload_ad",
            "display_url",
            b"display_url",
            "expanded_dynamic_search_ad",
            b"expanded_dynamic_search_ad",
            "expanded_text_ad",
            b"expanded_text_ad",
            "final_app_urls",
            b"final_app_urls",
            "final_mobile_urls",
            b"final_mobile_urls",
            "final_url_suffix",
            b"final_url_suffix",
            "final_urls",
            b"final_urls",
            "gmail_ad",
            b"gmail_ad",
            "hotel_ad",
            b"hotel_ad",
            "id",
            b"id",
            "image_ad",
            b"image_ad",
            "legacy_app_install_ad",
            b"legacy_app_install_ad",
            "legacy_responsive_display_ad",
            b"legacy_responsive_display_ad",
            "local_ad",
            b"local_ad",
            "name",
            b"name",
            "resource_name",
            b"resource_name",
            "responsive_display_ad",
            b"responsive_display_ad",
            "responsive_search_ad",
            b"responsive_search_ad",
            "shopping_comparison_listing_ad",
            b"shopping_comparison_listing_ad",
            "shopping_product_ad",
            b"shopping_product_ad",
            "shopping_smart_ad",
            b"shopping_smart_ad",
            "system_managed_resource_source",
            b"system_managed_resource_source",
            "text_ad",
            b"text_ad",
            "tracking_url_template",
            b"tracking_url_template",
            "type",
            b"type",
            "url_collections",
            b"url_collections",
            "url_custom_parameters",
            b"url_custom_parameters",
            "video_ad",
            b"video_ad",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["ad_data", b"ad_data"]
    ) -> typing_extensions.Literal[
        "text_ad",
        "expanded_text_ad",
        "call_only_ad",
        "expanded_dynamic_search_ad",
        "hotel_ad",
        "shopping_smart_ad",
        "shopping_product_ad",
        "gmail_ad",
        "image_ad",
        "video_ad",
        "responsive_search_ad",
        "legacy_responsive_display_ad",
        "app_ad",
        "legacy_app_install_ad",
        "responsive_display_ad",
        "local_ad",
        "display_upload_ad",
        "app_engagement_ad",
        "shopping_comparison_listing_ad",
    ]: ...

global___Ad = Ad
