"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v4.proto.common.criteria_pb2
import google.ads.google_ads.v4.proto.enums.feed_item_target_device_pb2
import google.ads.google_ads.v4.proto.enums.feed_item_target_status_pb2
import google.ads.google_ads.v4.proto.enums.feed_item_target_type_pb2
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.wrappers_pb2
import typing
import typing_extensions

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

class FeedItemTarget(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    FEED_ITEM_FIELD_NUMBER: builtins.int
    FEED_ITEM_TARGET_TYPE_FIELD_NUMBER: builtins.int
    FEED_ITEM_TARGET_ID_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    CAMPAIGN_FIELD_NUMBER: builtins.int
    AD_GROUP_FIELD_NUMBER: builtins.int
    KEYWORD_FIELD_NUMBER: builtins.int
    GEO_TARGET_CONSTANT_FIELD_NUMBER: builtins.int
    DEVICE_FIELD_NUMBER: builtins.int
    AD_SCHEDULE_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    feed_item_target_type: google.ads.google_ads.v4.proto.enums.feed_item_target_type_pb2.FeedItemTargetTypeEnum.FeedItemTargetType.V = (
        ...
    )
    status: google.ads.google_ads.v4.proto.enums.feed_item_target_status_pb2.FeedItemTargetStatusEnum.FeedItemTargetStatus.V = (
        ...
    )
    device: google.ads.google_ads.v4.proto.enums.feed_item_target_device_pb2.FeedItemTargetDeviceEnum.FeedItemTargetDevice.V = (
        ...
    )
    @property
    def feed_item(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def feed_item_target_id(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def campaign(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def ad_group(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def keyword(
        self,
    ) -> google.ads.google_ads.v4.proto.common.criteria_pb2.KeywordInfo: ...
    @property
    def geo_target_constant(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def ad_schedule(
        self,
    ) -> google.ads.google_ads.v4.proto.common.criteria_pb2.AdScheduleInfo: ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        feed_item: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        feed_item_target_type: google.ads.google_ads.v4.proto.enums.feed_item_target_type_pb2.FeedItemTargetTypeEnum.FeedItemTargetType.V = ...,
        feed_item_target_id: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
        status: google.ads.google_ads.v4.proto.enums.feed_item_target_status_pb2.FeedItemTargetStatusEnum.FeedItemTargetStatus.V = ...,
        campaign: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        ad_group: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        keyword: typing.Optional[
            google.ads.google_ads.v4.proto.common.criteria_pb2.KeywordInfo
        ] = ...,
        geo_target_constant: typing.Optional[
            google.protobuf.wrappers_pb2.StringValue
        ] = ...,
        device: google.ads.google_ads.v4.proto.enums.feed_item_target_device_pb2.FeedItemTargetDeviceEnum.FeedItemTargetDevice.V = ...,
        ad_schedule: typing.Optional[
            google.ads.google_ads.v4.proto.common.criteria_pb2.AdScheduleInfo
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "ad_group",
            b"ad_group",
            "ad_schedule",
            b"ad_schedule",
            "campaign",
            b"campaign",
            "device",
            b"device",
            "feed_item",
            b"feed_item",
            "feed_item_target_id",
            b"feed_item_target_id",
            "geo_target_constant",
            b"geo_target_constant",
            "keyword",
            b"keyword",
            "target",
            b"target",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "ad_group",
            b"ad_group",
            "ad_schedule",
            b"ad_schedule",
            "campaign",
            b"campaign",
            "device",
            b"device",
            "feed_item",
            b"feed_item",
            "feed_item_target_id",
            b"feed_item_target_id",
            "feed_item_target_type",
            b"feed_item_target_type",
            "geo_target_constant",
            b"geo_target_constant",
            "keyword",
            b"keyword",
            "resource_name",
            b"resource_name",
            "status",
            b"status",
            "target",
            b"target",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["target", b"target"]
    ) -> typing_extensions.Literal[
        "campaign",
        "ad_group",
        "keyword",
        "geo_target_constant",
        "device",
        "ad_schedule",
    ]: ...

global___FeedItemTarget = FeedItemTarget
