# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.ads.google_ads.v2.proto.common.policy_pb2 import (
    PolicyTopicEntry as google___ads___googleads___v2___common___policy_pb2___PolicyTopicEntry,
)

from google.ads.google_ads.v2.proto.enums.asset_field_type_pb2 import (
    AssetFieldTypeEnum as google___ads___googleads___v2___enums___asset_field_type_pb2___AssetFieldTypeEnum,
)

from google.ads.google_ads.v2.proto.enums.asset_performance_label_pb2 import (
    AssetPerformanceLabelEnum as google___ads___googleads___v2___enums___asset_performance_label_pb2___AssetPerformanceLabelEnum,
)

from google.ads.google_ads.v2.proto.enums.policy_approval_status_pb2 import (
    PolicyApprovalStatusEnum as google___ads___googleads___v2___enums___policy_approval_status_pb2___PolicyApprovalStatusEnum,
)

from google.ads.google_ads.v2.proto.enums.policy_review_status_pb2 import (
    PolicyReviewStatusEnum as google___ads___googleads___v2___enums___policy_review_status_pb2___PolicyReviewStatusEnum,
)

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 (
    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 AdGroupAdAssetView(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    resource_name = ... # type: typing___Text
    field_type = ... # type: google___ads___googleads___v2___enums___asset_field_type_pb2___AssetFieldTypeEnum.AssetFieldType
    performance_label = ... # type: google___ads___googleads___v2___enums___asset_performance_label_pb2___AssetPerformanceLabelEnum.AssetPerformanceLabel

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

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

    @property
    def policy_summary(self) -> AdGroupAdAssetPolicySummary: ...

    def __init__(self,
        *,
        resource_name : typing___Optional[typing___Text] = None,
        ad_group_ad : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        asset : typing___Optional[google___protobuf___wrappers_pb2___StringValue] = None,
        field_type : typing___Optional[google___ads___googleads___v2___enums___asset_field_type_pb2___AssetFieldTypeEnum.AssetFieldType] = None,
        policy_summary : typing___Optional[AdGroupAdAssetPolicySummary] = None,
        performance_label : typing___Optional[google___ads___googleads___v2___enums___asset_performance_label_pb2___AssetPerformanceLabelEnum.AssetPerformanceLabel] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> AdGroupAdAssetView: ...
    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_group_ad",u"asset",u"policy_summary"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"ad_group_ad",u"asset",u"field_type",u"performance_label",u"policy_summary",u"resource_name"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"ad_group_ad",b"ad_group_ad",u"asset",b"asset",u"policy_summary",b"policy_summary"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"ad_group_ad",b"ad_group_ad",u"asset",b"asset",u"field_type",b"field_type",u"performance_label",b"performance_label",u"policy_summary",b"policy_summary",u"resource_name",b"resource_name"]) -> None: ...

class AdGroupAdAssetPolicySummary(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    review_status = ... # type: google___ads___googleads___v2___enums___policy_review_status_pb2___PolicyReviewStatusEnum.PolicyReviewStatus
    approval_status = ... # type: google___ads___googleads___v2___enums___policy_approval_status_pb2___PolicyApprovalStatusEnum.PolicyApprovalStatus

    @property
    def policy_topic_entries(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[google___ads___googleads___v2___common___policy_pb2___PolicyTopicEntry]: ...

    def __init__(self,
        *,
        policy_topic_entries : typing___Optional[typing___Iterable[google___ads___googleads___v2___common___policy_pb2___PolicyTopicEntry]] = None,
        review_status : typing___Optional[google___ads___googleads___v2___enums___policy_review_status_pb2___PolicyReviewStatusEnum.PolicyReviewStatus] = None,
        approval_status : typing___Optional[google___ads___googleads___v2___enums___policy_approval_status_pb2___PolicyApprovalStatusEnum.PolicyApprovalStatus] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> AdGroupAdAssetPolicySummary: ...
    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"approval_status",u"policy_topic_entries",u"review_status"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"approval_status",b"approval_status",u"policy_topic_entries",b"policy_topic_entries",u"review_status",b"review_status"]) -> None: ...
