"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v6.proto.common.asset_types_pb2
import google.ads.google_ads.v6.proto.common.policy_pb2
import google.ads.google_ads.v6.proto.enums.asset_type_pb2
import google.ads.google_ads.v6.proto.enums.policy_approval_status_pb2
import google.ads.google_ads.v6.proto.enums.policy_review_status_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import typing_extensions

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

class Asset(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    FINAL_URLS_FIELD_NUMBER: builtins.int
    POLICY_SUMMARY_FIELD_NUMBER: builtins.int
    YOUTUBE_VIDEO_ASSET_FIELD_NUMBER: builtins.int
    MEDIA_BUNDLE_ASSET_FIELD_NUMBER: builtins.int
    IMAGE_ASSET_FIELD_NUMBER: builtins.int
    TEXT_ASSET_FIELD_NUMBER: builtins.int
    LEAD_FORM_ASSET_FIELD_NUMBER: builtins.int
    BOOK_ON_GOOGLE_ASSET_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    id: builtins.int = ...
    name: typing.Text = ...
    type: google.ads.google_ads.v6.proto.enums.asset_type_pb2.AssetTypeEnum.AssetType.V = (
        ...
    )
    final_urls: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        typing.Text
    ] = ...
    @property
    def policy_summary(self) -> global___AssetPolicySummary: ...
    @property
    def youtube_video_asset(
        self,
    ) -> google.ads.google_ads.v6.proto.common.asset_types_pb2.YoutubeVideoAsset: ...
    @property
    def media_bundle_asset(
        self,
    ) -> google.ads.google_ads.v6.proto.common.asset_types_pb2.MediaBundleAsset: ...
    @property
    def image_asset(
        self,
    ) -> google.ads.google_ads.v6.proto.common.asset_types_pb2.ImageAsset: ...
    @property
    def text_asset(
        self,
    ) -> google.ads.google_ads.v6.proto.common.asset_types_pb2.TextAsset: ...
    @property
    def lead_form_asset(
        self,
    ) -> google.ads.google_ads.v6.proto.common.asset_types_pb2.LeadFormAsset: ...
    @property
    def book_on_google_asset(
        self,
    ) -> google.ads.google_ads.v6.proto.common.asset_types_pb2.BookOnGoogleAsset: ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        id: builtins.int = ...,
        name: typing.Text = ...,
        type: google.ads.google_ads.v6.proto.enums.asset_type_pb2.AssetTypeEnum.AssetType.V = ...,
        final_urls: typing.Optional[typing.Iterable[typing.Text]] = ...,
        policy_summary: typing.Optional[global___AssetPolicySummary] = ...,
        youtube_video_asset: typing.Optional[
            google.ads.google_ads.v6.proto.common.asset_types_pb2.YoutubeVideoAsset
        ] = ...,
        media_bundle_asset: typing.Optional[
            google.ads.google_ads.v6.proto.common.asset_types_pb2.MediaBundleAsset
        ] = ...,
        image_asset: typing.Optional[
            google.ads.google_ads.v6.proto.common.asset_types_pb2.ImageAsset
        ] = ...,
        text_asset: typing.Optional[
            google.ads.google_ads.v6.proto.common.asset_types_pb2.TextAsset
        ] = ...,
        lead_form_asset: typing.Optional[
            google.ads.google_ads.v6.proto.common.asset_types_pb2.LeadFormAsset
        ] = ...,
        book_on_google_asset: typing.Optional[
            google.ads.google_ads.v6.proto.common.asset_types_pb2.BookOnGoogleAsset
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_id",
            b"_id",
            "_name",
            b"_name",
            "asset_data",
            b"asset_data",
            "book_on_google_asset",
            b"book_on_google_asset",
            "id",
            b"id",
            "image_asset",
            b"image_asset",
            "lead_form_asset",
            b"lead_form_asset",
            "media_bundle_asset",
            b"media_bundle_asset",
            "name",
            b"name",
            "policy_summary",
            b"policy_summary",
            "text_asset",
            b"text_asset",
            "youtube_video_asset",
            b"youtube_video_asset",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_id",
            b"_id",
            "_name",
            b"_name",
            "asset_data",
            b"asset_data",
            "book_on_google_asset",
            b"book_on_google_asset",
            "final_urls",
            b"final_urls",
            "id",
            b"id",
            "image_asset",
            b"image_asset",
            "lead_form_asset",
            b"lead_form_asset",
            "media_bundle_asset",
            b"media_bundle_asset",
            "name",
            b"name",
            "policy_summary",
            b"policy_summary",
            "resource_name",
            b"resource_name",
            "text_asset",
            b"text_asset",
            "type",
            b"type",
            "youtube_video_asset",
            b"youtube_video_asset",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_id", b"_id"]
    ) -> typing_extensions.Literal["id"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_name", b"_name"]
    ) -> typing_extensions.Literal["name"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["asset_data", b"asset_data"]
    ) -> typing_extensions.Literal[
        "youtube_video_asset",
        "media_bundle_asset",
        "image_asset",
        "text_asset",
        "lead_form_asset",
        "book_on_google_asset",
    ]: ...

global___Asset = Asset

class AssetPolicySummary(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    POLICY_TOPIC_ENTRIES_FIELD_NUMBER: builtins.int
    REVIEW_STATUS_FIELD_NUMBER: builtins.int
    APPROVAL_STATUS_FIELD_NUMBER: builtins.int
    review_status: google.ads.google_ads.v6.proto.enums.policy_review_status_pb2.PolicyReviewStatusEnum.PolicyReviewStatus.V = (
        ...
    )
    approval_status: google.ads.google_ads.v6.proto.enums.policy_approval_status_pb2.PolicyApprovalStatusEnum.PolicyApprovalStatus.V = (
        ...
    )
    @property
    def policy_topic_entries(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.ads.google_ads.v6.proto.common.policy_pb2.PolicyTopicEntry
    ]: ...
    def __init__(
        self,
        *,
        policy_topic_entries: typing.Optional[
            typing.Iterable[
                google.ads.google_ads.v6.proto.common.policy_pb2.PolicyTopicEntry
            ]
        ] = ...,
        review_status: google.ads.google_ads.v6.proto.enums.policy_review_status_pb2.PolicyReviewStatusEnum.PolicyReviewStatus.V = ...,
        approval_status: google.ads.google_ads.v6.proto.enums.policy_approval_status_pb2.PolicyApprovalStatusEnum.PolicyApprovalStatus.V = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "approval_status",
            b"approval_status",
            "policy_topic_entries",
            b"policy_topic_entries",
            "review_status",
            b"review_status",
        ],
    ) -> None: ...

global___AssetPolicySummary = AssetPolicySummary
