# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.ads.google_ads.v2.proto.enums.ad_customizer_placeholder_field_pb2 import (
    AdCustomizerPlaceholderFieldEnum as google___ads___googleads___v2___enums___ad_customizer_placeholder_field_pb2___AdCustomizerPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.affiliate_location_placeholder_field_pb2 import (
    AffiliateLocationPlaceholderFieldEnum as google___ads___googleads___v2___enums___affiliate_location_placeholder_field_pb2___AffiliateLocationPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.app_placeholder_field_pb2 import (
    AppPlaceholderFieldEnum as google___ads___googleads___v2___enums___app_placeholder_field_pb2___AppPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.call_placeholder_field_pb2 import (
    CallPlaceholderFieldEnum as google___ads___googleads___v2___enums___call_placeholder_field_pb2___CallPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.callout_placeholder_field_pb2 import (
    CalloutPlaceholderFieldEnum as google___ads___googleads___v2___enums___callout_placeholder_field_pb2___CalloutPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.custom_placeholder_field_pb2 import (
    CustomPlaceholderFieldEnum as google___ads___googleads___v2___enums___custom_placeholder_field_pb2___CustomPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.dsa_page_feed_criterion_field_pb2 import (
    DsaPageFeedCriterionFieldEnum as google___ads___googleads___v2___enums___dsa_page_feed_criterion_field_pb2___DsaPageFeedCriterionFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.education_placeholder_field_pb2 import (
    EducationPlaceholderFieldEnum as google___ads___googleads___v2___enums___education_placeholder_field_pb2___EducationPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.feed_mapping_criterion_type_pb2 import (
    FeedMappingCriterionTypeEnum as google___ads___googleads___v2___enums___feed_mapping_criterion_type_pb2___FeedMappingCriterionTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.feed_mapping_status_pb2 import (
    FeedMappingStatusEnum as google___ads___googleads___v2___enums___feed_mapping_status_pb2___FeedMappingStatusEnum,
)

from google.ads.google_ads.v2.proto.enums.flight_placeholder_field_pb2 import (
    FlightPlaceholderFieldEnum as google___ads___googleads___v2___enums___flight_placeholder_field_pb2___FlightPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.hotel_placeholder_field_pb2 import (
    HotelPlaceholderFieldEnum as google___ads___googleads___v2___enums___hotel_placeholder_field_pb2___HotelPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.job_placeholder_field_pb2 import (
    JobPlaceholderFieldEnum as google___ads___googleads___v2___enums___job_placeholder_field_pb2___JobPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.local_placeholder_field_pb2 import (
    LocalPlaceholderFieldEnum as google___ads___googleads___v2___enums___local_placeholder_field_pb2___LocalPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.location_extension_targeting_criterion_field_pb2 import (
    LocationExtensionTargetingCriterionFieldEnum as google___ads___googleads___v2___enums___location_extension_targeting_criterion_field_pb2___LocationExtensionTargetingCriterionFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.location_placeholder_field_pb2 import (
    LocationPlaceholderFieldEnum as google___ads___googleads___v2___enums___location_placeholder_field_pb2___LocationPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.message_placeholder_field_pb2 import (
    MessagePlaceholderFieldEnum as google___ads___googleads___v2___enums___message_placeholder_field_pb2___MessagePlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.placeholder_type_pb2 import (
    PlaceholderTypeEnum as google___ads___googleads___v2___enums___placeholder_type_pb2___PlaceholderTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.price_placeholder_field_pb2 import (
    PricePlaceholderFieldEnum as google___ads___googleads___v2___enums___price_placeholder_field_pb2___PricePlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.promotion_placeholder_field_pb2 import (
    PromotionPlaceholderFieldEnum as google___ads___googleads___v2___enums___promotion_placeholder_field_pb2___PromotionPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.real_estate_placeholder_field_pb2 import (
    RealEstatePlaceholderFieldEnum as google___ads___googleads___v2___enums___real_estate_placeholder_field_pb2___RealEstatePlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.sitelink_placeholder_field_pb2 import (
    SitelinkPlaceholderFieldEnum as google___ads___googleads___v2___enums___sitelink_placeholder_field_pb2___SitelinkPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.structured_snippet_placeholder_field_pb2 import (
    StructuredSnippetPlaceholderFieldEnum as google___ads___googleads___v2___enums___structured_snippet_placeholder_field_pb2___StructuredSnippetPlaceholderFieldEnum,
)

from google.ads.google_ads.v2.proto.enums.travel_placeholder_field_pb2 import (
    TravelPlaceholderFieldEnum as google___ads___googleads___v2___enums___travel_placeholder_field_pb2___TravelPlaceholderFieldEnum,
)

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 (
    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,
    Text as typing___Text,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


class FeedMapping(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    resource_name = ... # type: typing___Text
    status = ... # type: google___ads___googleads___v2___enums___feed_mapping_status_pb2___FeedMappingStatusEnum.FeedMappingStatus
    placeholder_type = ... # type: google___ads___googleads___v2___enums___placeholder_type_pb2___PlaceholderTypeEnum.PlaceholderType
    criterion_type = ... # type: google___ads___googleads___v2___enums___feed_mapping_criterion_type_pb2___FeedMappingCriterionTypeEnum.FeedMappingCriterionType

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

    @property
    def attribute_field_mappings(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[AttributeFieldMapping]: ...

    def __init__(self,
        *,
        resource_name : typing___Optional[typing___Text] = None,
        feed : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        attribute_field_mappings : typing___Optional[typing___Iterable[AttributeFieldMapping]] = None,
        status : typing___Optional[google___ads___googleads___v2___enums___feed_mapping_status_pb2___FeedMappingStatusEnum.FeedMappingStatus] = None,
        placeholder_type : typing___Optional[google___ads___googleads___v2___enums___placeholder_type_pb2___PlaceholderTypeEnum.PlaceholderType] = None,
        criterion_type : typing___Optional[google___ads___googleads___v2___enums___feed_mapping_criterion_type_pb2___FeedMappingCriterionTypeEnum.FeedMappingCriterionType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> FeedMapping: ...
    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"criterion_type",u"feed",u"placeholder_type",u"target"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"attribute_field_mappings",u"criterion_type",u"feed",u"placeholder_type",u"resource_name",u"status",u"target"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"criterion_type",b"criterion_type",u"feed",b"feed",u"placeholder_type",b"placeholder_type",u"target",b"target"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"attribute_field_mappings",b"attribute_field_mappings",u"criterion_type",b"criterion_type",u"feed",b"feed",u"placeholder_type",b"placeholder_type",u"resource_name",b"resource_name",u"status",b"status",u"target",b"target"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"target",b"target"]) -> typing_extensions___Literal["placeholder_type","criterion_type"]: ...

class AttributeFieldMapping(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    sitelink_field = ... # type: google___ads___googleads___v2___enums___sitelink_placeholder_field_pb2___SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField
    call_field = ... # type: google___ads___googleads___v2___enums___call_placeholder_field_pb2___CallPlaceholderFieldEnum.CallPlaceholderField
    app_field = ... # type: google___ads___googleads___v2___enums___app_placeholder_field_pb2___AppPlaceholderFieldEnum.AppPlaceholderField
    location_field = ... # type: google___ads___googleads___v2___enums___location_placeholder_field_pb2___LocationPlaceholderFieldEnum.LocationPlaceholderField
    affiliate_location_field = ... # type: google___ads___googleads___v2___enums___affiliate_location_placeholder_field_pb2___AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField
    callout_field = ... # type: google___ads___googleads___v2___enums___callout_placeholder_field_pb2___CalloutPlaceholderFieldEnum.CalloutPlaceholderField
    structured_snippet_field = ... # type: google___ads___googleads___v2___enums___structured_snippet_placeholder_field_pb2___StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField
    message_field = ... # type: google___ads___googleads___v2___enums___message_placeholder_field_pb2___MessagePlaceholderFieldEnum.MessagePlaceholderField
    price_field = ... # type: google___ads___googleads___v2___enums___price_placeholder_field_pb2___PricePlaceholderFieldEnum.PricePlaceholderField
    promotion_field = ... # type: google___ads___googleads___v2___enums___promotion_placeholder_field_pb2___PromotionPlaceholderFieldEnum.PromotionPlaceholderField
    ad_customizer_field = ... # type: google___ads___googleads___v2___enums___ad_customizer_placeholder_field_pb2___AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField
    dsa_page_feed_field = ... # type: google___ads___googleads___v2___enums___dsa_page_feed_criterion_field_pb2___DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField
    location_extension_targeting_field = ... # type: google___ads___googleads___v2___enums___location_extension_targeting_criterion_field_pb2___LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField
    education_field = ... # type: google___ads___googleads___v2___enums___education_placeholder_field_pb2___EducationPlaceholderFieldEnum.EducationPlaceholderField
    flight_field = ... # type: google___ads___googleads___v2___enums___flight_placeholder_field_pb2___FlightPlaceholderFieldEnum.FlightPlaceholderField
    custom_field = ... # type: google___ads___googleads___v2___enums___custom_placeholder_field_pb2___CustomPlaceholderFieldEnum.CustomPlaceholderField
    hotel_field = ... # type: google___ads___googleads___v2___enums___hotel_placeholder_field_pb2___HotelPlaceholderFieldEnum.HotelPlaceholderField
    real_estate_field = ... # type: google___ads___googleads___v2___enums___real_estate_placeholder_field_pb2___RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField
    travel_field = ... # type: google___ads___googleads___v2___enums___travel_placeholder_field_pb2___TravelPlaceholderFieldEnum.TravelPlaceholderField
    local_field = ... # type: google___ads___googleads___v2___enums___local_placeholder_field_pb2___LocalPlaceholderFieldEnum.LocalPlaceholderField
    job_field = ... # type: google___ads___googleads___v2___enums___job_placeholder_field_pb2___JobPlaceholderFieldEnum.JobPlaceholderField

    @property
    def feed_attribute_id(self) -> google___protobuf___wrappers_pb2___Int64Value: ...

    @property
    def field_id(self) -> google___protobuf___wrappers_pb2___Int64Value: ...

    def __init__(self,
        *,
        feed_attribute_id : typing___Optional[google___protobuf___wrappers_pb2___Int64Value] = None,
        field_id : typing___Optional[google___protobuf___wrappers_pb2___Int64Value] = None,
        sitelink_field : typing___Optional[google___ads___googleads___v2___enums___sitelink_placeholder_field_pb2___SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField] = None,
        call_field : typing___Optional[google___ads___googleads___v2___enums___call_placeholder_field_pb2___CallPlaceholderFieldEnum.CallPlaceholderField] = None,
        app_field : typing___Optional[google___ads___googleads___v2___enums___app_placeholder_field_pb2___AppPlaceholderFieldEnum.AppPlaceholderField] = None,
        location_field : typing___Optional[google___ads___googleads___v2___enums___location_placeholder_field_pb2___LocationPlaceholderFieldEnum.LocationPlaceholderField] = None,
        affiliate_location_field : typing___Optional[google___ads___googleads___v2___enums___affiliate_location_placeholder_field_pb2___AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField] = None,
        callout_field : typing___Optional[google___ads___googleads___v2___enums___callout_placeholder_field_pb2___CalloutPlaceholderFieldEnum.CalloutPlaceholderField] = None,
        structured_snippet_field : typing___Optional[google___ads___googleads___v2___enums___structured_snippet_placeholder_field_pb2___StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField] = None,
        message_field : typing___Optional[google___ads___googleads___v2___enums___message_placeholder_field_pb2___MessagePlaceholderFieldEnum.MessagePlaceholderField] = None,
        price_field : typing___Optional[google___ads___googleads___v2___enums___price_placeholder_field_pb2___PricePlaceholderFieldEnum.PricePlaceholderField] = None,
        promotion_field : typing___Optional[google___ads___googleads___v2___enums___promotion_placeholder_field_pb2___PromotionPlaceholderFieldEnum.PromotionPlaceholderField] = None,
        ad_customizer_field : typing___Optional[google___ads___googleads___v2___enums___ad_customizer_placeholder_field_pb2___AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField] = None,
        dsa_page_feed_field : typing___Optional[google___ads___googleads___v2___enums___dsa_page_feed_criterion_field_pb2___DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField] = None,
        location_extension_targeting_field : typing___Optional[google___ads___googleads___v2___enums___location_extension_targeting_criterion_field_pb2___LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField] = None,
        education_field : typing___Optional[google___ads___googleads___v2___enums___education_placeholder_field_pb2___EducationPlaceholderFieldEnum.EducationPlaceholderField] = None,
        flight_field : typing___Optional[google___ads___googleads___v2___enums___flight_placeholder_field_pb2___FlightPlaceholderFieldEnum.FlightPlaceholderField] = None,
        custom_field : typing___Optional[google___ads___googleads___v2___enums___custom_placeholder_field_pb2___CustomPlaceholderFieldEnum.CustomPlaceholderField] = None,
        hotel_field : typing___Optional[google___ads___googleads___v2___enums___hotel_placeholder_field_pb2___HotelPlaceholderFieldEnum.HotelPlaceholderField] = None,
        real_estate_field : typing___Optional[google___ads___googleads___v2___enums___real_estate_placeholder_field_pb2___RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField] = None,
        travel_field : typing___Optional[google___ads___googleads___v2___enums___travel_placeholder_field_pb2___TravelPlaceholderFieldEnum.TravelPlaceholderField] = None,
        local_field : typing___Optional[google___ads___googleads___v2___enums___local_placeholder_field_pb2___LocalPlaceholderFieldEnum.LocalPlaceholderField] = None,
        job_field : typing___Optional[google___ads___googleads___v2___enums___job_placeholder_field_pb2___JobPlaceholderFieldEnum.JobPlaceholderField] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> AttributeFieldMapping: ...
    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_customizer_field",u"affiliate_location_field",u"app_field",u"call_field",u"callout_field",u"custom_field",u"dsa_page_feed_field",u"education_field",u"feed_attribute_id",u"field",u"field_id",u"flight_field",u"hotel_field",u"job_field",u"local_field",u"location_extension_targeting_field",u"location_field",u"message_field",u"price_field",u"promotion_field",u"real_estate_field",u"sitelink_field",u"structured_snippet_field",u"travel_field"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"ad_customizer_field",u"affiliate_location_field",u"app_field",u"call_field",u"callout_field",u"custom_field",u"dsa_page_feed_field",u"education_field",u"feed_attribute_id",u"field",u"field_id",u"flight_field",u"hotel_field",u"job_field",u"local_field",u"location_extension_targeting_field",u"location_field",u"message_field",u"price_field",u"promotion_field",u"real_estate_field",u"sitelink_field",u"structured_snippet_field",u"travel_field"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"ad_customizer_field",b"ad_customizer_field",u"affiliate_location_field",b"affiliate_location_field",u"app_field",b"app_field",u"call_field",b"call_field",u"callout_field",b"callout_field",u"custom_field",b"custom_field",u"dsa_page_feed_field",b"dsa_page_feed_field",u"education_field",b"education_field",u"feed_attribute_id",b"feed_attribute_id",u"field",b"field",u"field_id",b"field_id",u"flight_field",b"flight_field",u"hotel_field",b"hotel_field",u"job_field",b"job_field",u"local_field",b"local_field",u"location_extension_targeting_field",b"location_extension_targeting_field",u"location_field",b"location_field",u"message_field",b"message_field",u"price_field",b"price_field",u"promotion_field",b"promotion_field",u"real_estate_field",b"real_estate_field",u"sitelink_field",b"sitelink_field",u"structured_snippet_field",b"structured_snippet_field",u"travel_field",b"travel_field"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"ad_customizer_field",b"ad_customizer_field",u"affiliate_location_field",b"affiliate_location_field",u"app_field",b"app_field",u"call_field",b"call_field",u"callout_field",b"callout_field",u"custom_field",b"custom_field",u"dsa_page_feed_field",b"dsa_page_feed_field",u"education_field",b"education_field",u"feed_attribute_id",b"feed_attribute_id",u"field",b"field",u"field_id",b"field_id",u"flight_field",b"flight_field",u"hotel_field",b"hotel_field",u"job_field",b"job_field",u"local_field",b"local_field",u"location_extension_targeting_field",b"location_extension_targeting_field",u"location_field",b"location_field",u"message_field",b"message_field",u"price_field",b"price_field",u"promotion_field",b"promotion_field",u"real_estate_field",b"real_estate_field",u"sitelink_field",b"sitelink_field",u"structured_snippet_field",b"structured_snippet_field",u"travel_field",b"travel_field"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"field",b"field"]) -> typing_extensions___Literal["sitelink_field","call_field","app_field","location_field","affiliate_location_field","callout_field","structured_snippet_field","message_field","price_field","promotion_field","ad_customizer_field","dsa_page_feed_field","location_extension_targeting_field","education_field","flight_field","custom_field","hotel_field","real_estate_field","travel_field","local_field","job_field"]: ...
