from collections.abc import Mapping
from typing import Any, TypeVar

import google.protobuf.message
import proto

_M = TypeVar("_M")

class AssetErrorEnum(proto.Message):
    class AssetError(proto.Enum):
        UNSPECIFIED = 0
        UNKNOWN = 1
        CUSTOMER_NOT_ON_ALLOWLIST_FOR_ASSET_TYPE = 13
        DUPLICATE_ASSET = 3
        DUPLICATE_ASSET_NAME = 4
        ASSET_DATA_IS_MISSING = 5
        CANNOT_MODIFY_ASSET_NAME = 6
        FIELD_INCOMPATIBLE_WITH_ASSET_TYPE = 7
        INVALID_CALL_TO_ACTION_TEXT = 8
        LEAD_FORM_INVALID_FIELDS_COMBINATION = 9
        LEAD_FORM_MISSING_AGREEMENT = 10
        INVALID_ASSET_STATUS = 11
        FIELD_CANNOT_BE_MODIFIED_FOR_ASSET_TYPE = 12
        SCHEDULES_CANNOT_OVERLAP = 14
        PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF = 15
        PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT = 16
        TOO_MANY_DECIMAL_PLACES_SPECIFIED = 17
        DUPLICATE_ASSETS_WITH_DIFFERENT_FIELD_VALUE = 18
        CALL_CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 19
        CALL_CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED = 20
        CALL_DISALLOWED_NUMBER_TYPE = 21
        CALL_INVALID_CONVERSION_ACTION = 22
        CALL_INVALID_COUNTRY_CODE = 23
        CALL_INVALID_DOMESTIC_PHONE_NUMBER_FORMAT = 24
        CALL_INVALID_PHONE_NUMBER = 25
        CALL_PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 26
        CALL_PREMIUM_RATE_NUMBER_NOT_ALLOWED = 27
        CALL_VANITY_PHONE_NUMBER_NOT_ALLOWED = 28
        PRICE_HEADER_SAME_AS_DESCRIPTION = 29
        MOBILE_APP_INVALID_APP_ID = 30
        MOBILE_APP_INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL = 31
        NAME_REQUIRED_FOR_ASSET_TYPE = 32
        LEAD_FORM_LEGACY_QUALIFYING_QUESTIONS_DISALLOWED = 33
        NAME_CONFLICT_FOR_ASSET_TYPE = 34
        CANNOT_MODIFY_ASSET_SOURCE = 35
        CANNOT_MODIFY_AUTOMATICALLY_CREATED_ASSET = 36
        LEAD_FORM_LOCATION_ANSWER_TYPE_DISALLOWED = 37
        PAGE_FEED_INVALID_LABEL_TEXT = 38
    def __init__(
        self: _M,
        mapping: _M | Mapping | google.protobuf.message.Message | None = ...,
        *,
        ignore_unknown_fields: bool = ...,
    ) -> None: ...
