"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v5.proto.enums.policy_topic_entry_type_pb2
import google.ads.google_ads.v5.proto.enums.policy_topic_evidence_destination_mismatch_url_type_pb2
import google.ads.google_ads.v5.proto.enums.policy_topic_evidence_destination_not_working_device_pb2
import google.ads.google_ads.v5.proto.enums.policy_topic_evidence_destination_not_working_dns_error_type_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 PolicyViolationKey(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    POLICY_NAME_FIELD_NUMBER: builtins.int
    VIOLATING_TEXT_FIELD_NUMBER: builtins.int
    policy_name: typing.Text = ...
    violating_text: typing.Text = ...
    def __init__(
        self,
        *,
        policy_name: typing.Text = ...,
        violating_text: typing.Text = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_policy_name",
            b"_policy_name",
            "_violating_text",
            b"_violating_text",
            "policy_name",
            b"policy_name",
            "violating_text",
            b"violating_text",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_policy_name",
            b"_policy_name",
            "_violating_text",
            b"_violating_text",
            "policy_name",
            b"policy_name",
            "violating_text",
            b"violating_text",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_policy_name", b"_policy_name"]
    ) -> typing_extensions.Literal["policy_name"]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal["_violating_text", b"_violating_text"],
    ) -> typing_extensions.Literal["violating_text"]: ...

global___PolicyViolationKey = PolicyViolationKey

class PolicyValidationParameter(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    IGNORABLE_POLICY_TOPICS_FIELD_NUMBER: builtins.int
    EXEMPT_POLICY_VIOLATION_KEYS_FIELD_NUMBER: builtins.int
    ignorable_policy_topics: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        typing.Text
    ] = ...
    @property
    def exempt_policy_violation_keys(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___PolicyViolationKey
    ]: ...
    def __init__(
        self,
        *,
        ignorable_policy_topics: typing.Optional[typing.Iterable[typing.Text]] = ...,
        exempt_policy_violation_keys: typing.Optional[
            typing.Iterable[global___PolicyViolationKey]
        ] = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "exempt_policy_violation_keys",
            b"exempt_policy_violation_keys",
            "ignorable_policy_topics",
            b"ignorable_policy_topics",
        ],
    ) -> None: ...

global___PolicyValidationParameter = PolicyValidationParameter

class PolicyTopicEntry(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    TOPIC_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    EVIDENCES_FIELD_NUMBER: builtins.int
    CONSTRAINTS_FIELD_NUMBER: builtins.int
    topic: typing.Text = ...
    type: google.ads.google_ads.v5.proto.enums.policy_topic_entry_type_pb2.PolicyTopicEntryTypeEnum.PolicyTopicEntryType.V = (
        ...
    )
    @property
    def evidences(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___PolicyTopicEvidence
    ]: ...
    @property
    def constraints(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___PolicyTopicConstraint
    ]: ...
    def __init__(
        self,
        *,
        topic: typing.Text = ...,
        type: google.ads.google_ads.v5.proto.enums.policy_topic_entry_type_pb2.PolicyTopicEntryTypeEnum.PolicyTopicEntryType.V = ...,
        evidences: typing.Optional[typing.Iterable[global___PolicyTopicEvidence]] = ...,
        constraints: typing.Optional[
            typing.Iterable[global___PolicyTopicConstraint]
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal["_topic", b"_topic", "topic", b"topic"],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_topic",
            b"_topic",
            "constraints",
            b"constraints",
            "evidences",
            b"evidences",
            "topic",
            b"topic",
            "type",
            b"type",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_topic", b"_topic"]
    ) -> typing_extensions.Literal["topic"]: ...

global___PolicyTopicEntry = PolicyTopicEntry

class PolicyTopicEvidence(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class TextList(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        TEXTS_FIELD_NUMBER: builtins.int
        texts: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
            typing.Text
        ] = ...
        def __init__(
            self,
            *,
            texts: typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
        def ClearField(
            self, field_name: typing_extensions.Literal["texts", b"texts"]
        ) -> None: ...
    class WebsiteList(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        WEBSITES_FIELD_NUMBER: builtins.int
        websites: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
            typing.Text
        ] = ...
        def __init__(
            self,
            *,
            websites: typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
        def ClearField(
            self, field_name: typing_extensions.Literal["websites", b"websites"]
        ) -> None: ...
    class DestinationTextList(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        DESTINATION_TEXTS_FIELD_NUMBER: builtins.int
        destination_texts: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
            typing.Text
        ] = ...
        def __init__(
            self,
            *,
            destination_texts: typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "destination_texts", b"destination_texts"
            ],
        ) -> None: ...
    class DestinationMismatch(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        URL_TYPES_FIELD_NUMBER: builtins.int
        url_types: google.protobuf.internal.containers.RepeatedScalarFieldContainer[
            google.ads.google_ads.v5.proto.enums.policy_topic_evidence_destination_mismatch_url_type_pb2.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType.V
        ] = ...
        def __init__(
            self,
            *,
            url_types: typing.Optional[
                typing.Iterable[
                    google.ads.google_ads.v5.proto.enums.policy_topic_evidence_destination_mismatch_url_type_pb2.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType.V
                ]
            ] = ...,
        ) -> None: ...
        def ClearField(
            self, field_name: typing_extensions.Literal["url_types", b"url_types"]
        ) -> None: ...
    class DestinationNotWorking(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        EXPANDED_URL_FIELD_NUMBER: builtins.int
        DEVICE_FIELD_NUMBER: builtins.int
        LAST_CHECKED_DATE_TIME_FIELD_NUMBER: builtins.int
        DNS_ERROR_TYPE_FIELD_NUMBER: builtins.int
        HTTP_ERROR_CODE_FIELD_NUMBER: builtins.int
        expanded_url: typing.Text = ...
        device: google.ads.google_ads.v5.proto.enums.policy_topic_evidence_destination_not_working_device_pb2.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice.V = (
            ...
        )
        last_checked_date_time: typing.Text = ...
        dns_error_type: google.ads.google_ads.v5.proto.enums.policy_topic_evidence_destination_not_working_dns_error_type_pb2.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.V = (
            ...
        )
        http_error_code: builtins.int = ...
        def __init__(
            self,
            *,
            expanded_url: typing.Text = ...,
            device: google.ads.google_ads.v5.proto.enums.policy_topic_evidence_destination_not_working_device_pb2.PolicyTopicEvidenceDestinationNotWorkingDeviceEnum.PolicyTopicEvidenceDestinationNotWorkingDevice.V = ...,
            last_checked_date_time: typing.Text = ...,
            dns_error_type: google.ads.google_ads.v5.proto.enums.policy_topic_evidence_destination_not_working_dns_error_type_pb2.PolicyTopicEvidenceDestinationNotWorkingDnsErrorTypeEnum.PolicyTopicEvidenceDestinationNotWorkingDnsErrorType.V = ...,
            http_error_code: builtins.int = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "_expanded_url",
                b"_expanded_url",
                "_last_checked_date_time",
                b"_last_checked_date_time",
                "dns_error_type",
                b"dns_error_type",
                "expanded_url",
                b"expanded_url",
                "http_error_code",
                b"http_error_code",
                "last_checked_date_time",
                b"last_checked_date_time",
                "reason",
                b"reason",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "_expanded_url",
                b"_expanded_url",
                "_last_checked_date_time",
                b"_last_checked_date_time",
                "device",
                b"device",
                "dns_error_type",
                b"dns_error_type",
                "expanded_url",
                b"expanded_url",
                "http_error_code",
                b"http_error_code",
                "last_checked_date_time",
                b"last_checked_date_time",
                "reason",
                b"reason",
            ],
        ) -> None: ...
        @typing.overload
        def WhichOneof(
            self,
            oneof_group: typing_extensions.Literal["_expanded_url", b"_expanded_url"],
        ) -> typing_extensions.Literal["expanded_url"]: ...
        @typing.overload
        def WhichOneof(
            self,
            oneof_group: typing_extensions.Literal[
                "_last_checked_date_time", b"_last_checked_date_time"
            ],
        ) -> typing_extensions.Literal["last_checked_date_time"]: ...
        @typing.overload
        def WhichOneof(
            self, oneof_group: typing_extensions.Literal["reason", b"reason"]
        ) -> typing_extensions.Literal["dns_error_type", "http_error_code"]: ...
    WEBSITE_LIST_FIELD_NUMBER: builtins.int
    TEXT_LIST_FIELD_NUMBER: builtins.int
    LANGUAGE_CODE_FIELD_NUMBER: builtins.int
    DESTINATION_TEXT_LIST_FIELD_NUMBER: builtins.int
    DESTINATION_MISMATCH_FIELD_NUMBER: builtins.int
    DESTINATION_NOT_WORKING_FIELD_NUMBER: builtins.int
    language_code: typing.Text = ...
    @property
    def website_list(self) -> global___PolicyTopicEvidence.WebsiteList: ...
    @property
    def text_list(self) -> global___PolicyTopicEvidence.TextList: ...
    @property
    def destination_text_list(
        self,
    ) -> global___PolicyTopicEvidence.DestinationTextList: ...
    @property
    def destination_mismatch(
        self,
    ) -> global___PolicyTopicEvidence.DestinationMismatch: ...
    @property
    def destination_not_working(
        self,
    ) -> global___PolicyTopicEvidence.DestinationNotWorking: ...
    def __init__(
        self,
        *,
        website_list: typing.Optional[global___PolicyTopicEvidence.WebsiteList] = ...,
        text_list: typing.Optional[global___PolicyTopicEvidence.TextList] = ...,
        language_code: typing.Text = ...,
        destination_text_list: typing.Optional[
            global___PolicyTopicEvidence.DestinationTextList
        ] = ...,
        destination_mismatch: typing.Optional[
            global___PolicyTopicEvidence.DestinationMismatch
        ] = ...,
        destination_not_working: typing.Optional[
            global___PolicyTopicEvidence.DestinationNotWorking
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "destination_mismatch",
            b"destination_mismatch",
            "destination_not_working",
            b"destination_not_working",
            "destination_text_list",
            b"destination_text_list",
            "language_code",
            b"language_code",
            "text_list",
            b"text_list",
            "value",
            b"value",
            "website_list",
            b"website_list",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "destination_mismatch",
            b"destination_mismatch",
            "destination_not_working",
            b"destination_not_working",
            "destination_text_list",
            b"destination_text_list",
            "language_code",
            b"language_code",
            "text_list",
            b"text_list",
            "value",
            b"value",
            "website_list",
            b"website_list",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["value", b"value"]
    ) -> typing_extensions.Literal[
        "website_list",
        "text_list",
        "language_code",
        "destination_text_list",
        "destination_mismatch",
        "destination_not_working",
    ]: ...

global___PolicyTopicEvidence = PolicyTopicEvidence

class PolicyTopicConstraint(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class CountryConstraintList(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        TOTAL_TARGETED_COUNTRIES_FIELD_NUMBER: builtins.int
        COUNTRIES_FIELD_NUMBER: builtins.int
        total_targeted_countries: builtins.int = ...
        @property
        def countries(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            global___PolicyTopicConstraint.CountryConstraint
        ]: ...
        def __init__(
            self,
            *,
            total_targeted_countries: builtins.int = ...,
            countries: typing.Optional[
                typing.Iterable[global___PolicyTopicConstraint.CountryConstraint]
            ] = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "_total_targeted_countries",
                b"_total_targeted_countries",
                "total_targeted_countries",
                b"total_targeted_countries",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "_total_targeted_countries",
                b"_total_targeted_countries",
                "countries",
                b"countries",
                "total_targeted_countries",
                b"total_targeted_countries",
            ],
        ) -> None: ...
        def WhichOneof(
            self,
            oneof_group: typing_extensions.Literal[
                "_total_targeted_countries", b"_total_targeted_countries"
            ],
        ) -> typing_extensions.Literal["total_targeted_countries"]: ...
    class ResellerConstraint(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        def __init__(
            self,
        ) -> None: ...
    class CountryConstraint(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        COUNTRY_CRITERION_FIELD_NUMBER: builtins.int
        country_criterion: typing.Text = ...
        def __init__(
            self,
            *,
            country_criterion: typing.Text = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "_country_criterion",
                b"_country_criterion",
                "country_criterion",
                b"country_criterion",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "_country_criterion",
                b"_country_criterion",
                "country_criterion",
                b"country_criterion",
            ],
        ) -> None: ...
        def WhichOneof(
            self,
            oneof_group: typing_extensions.Literal[
                "_country_criterion", b"_country_criterion"
            ],
        ) -> typing_extensions.Literal["country_criterion"]: ...
    COUNTRY_CONSTRAINT_LIST_FIELD_NUMBER: builtins.int
    RESELLER_CONSTRAINT_FIELD_NUMBER: builtins.int
    CERTIFICATE_MISSING_IN_COUNTRY_LIST_FIELD_NUMBER: builtins.int
    CERTIFICATE_DOMAIN_MISMATCH_IN_COUNTRY_LIST_FIELD_NUMBER: builtins.int
    @property
    def country_constraint_list(
        self,
    ) -> global___PolicyTopicConstraint.CountryConstraintList: ...
    @property
    def reseller_constraint(
        self,
    ) -> global___PolicyTopicConstraint.ResellerConstraint: ...
    @property
    def certificate_missing_in_country_list(
        self,
    ) -> global___PolicyTopicConstraint.CountryConstraintList: ...
    @property
    def certificate_domain_mismatch_in_country_list(
        self,
    ) -> global___PolicyTopicConstraint.CountryConstraintList: ...
    def __init__(
        self,
        *,
        country_constraint_list: typing.Optional[
            global___PolicyTopicConstraint.CountryConstraintList
        ] = ...,
        reseller_constraint: typing.Optional[
            global___PolicyTopicConstraint.ResellerConstraint
        ] = ...,
        certificate_missing_in_country_list: typing.Optional[
            global___PolicyTopicConstraint.CountryConstraintList
        ] = ...,
        certificate_domain_mismatch_in_country_list: typing.Optional[
            global___PolicyTopicConstraint.CountryConstraintList
        ] = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "certificate_domain_mismatch_in_country_list",
            b"certificate_domain_mismatch_in_country_list",
            "certificate_missing_in_country_list",
            b"certificate_missing_in_country_list",
            "country_constraint_list",
            b"country_constraint_list",
            "reseller_constraint",
            b"reseller_constraint",
            "value",
            b"value",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "certificate_domain_mismatch_in_country_list",
            b"certificate_domain_mismatch_in_country_list",
            "certificate_missing_in_country_list",
            b"certificate_missing_in_country_list",
            "country_constraint_list",
            b"country_constraint_list",
            "reseller_constraint",
            b"reseller_constraint",
            "value",
            b"value",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["value", b"value"]
    ) -> typing_extensions.Literal[
        "country_constraint_list",
        "reseller_constraint",
        "certificate_missing_in_country_list",
        "certificate_domain_mismatch_in_country_list",
    ]: ...

global___PolicyTopicConstraint = PolicyTopicConstraint
