# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    EnumDescriptor as google___protobuf___descriptor___EnumDescriptor,
)

from google.protobuf.message import (
    Message as google___protobuf___message___Message,
)

from typing import (
    List as typing___List,
    Tuple as typing___Tuple,
    cast as typing___cast,
)


class CampaignBudgetErrorEnum(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class CampaignBudgetError(int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: int) -> str: ...
        @classmethod
        def Value(cls, name: str) -> CampaignBudgetErrorEnum.CampaignBudgetError: ...
        @classmethod
        def keys(cls) -> typing___List[str]: ...
        @classmethod
        def values(cls) -> typing___List[CampaignBudgetErrorEnum.CampaignBudgetError]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[str, CampaignBudgetErrorEnum.CampaignBudgetError]]: ...
        UNSPECIFIED = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 0)
        UNKNOWN = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 1)
        CAMPAIGN_BUDGET_CANNOT_BE_SHARED = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 17)
        CAMPAIGN_BUDGET_REMOVED = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 2)
        CAMPAIGN_BUDGET_IN_USE = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 3)
        CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 4)
        CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 6)
        CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 7)
        CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 8)
        CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 9)
        CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 10)
        DUPLICATE_NAME = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 11)
        MONEY_AMOUNT_IN_WRONG_CURRENCY = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 12)
        MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 13)
        MONEY_AMOUNT_TOO_LARGE = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 14)
        NEGATIVE_MONEY_AMOUNT = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 15)
        NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 16)
    UNSPECIFIED = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 0)
    UNKNOWN = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 1)
    CAMPAIGN_BUDGET_CANNOT_BE_SHARED = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 17)
    CAMPAIGN_BUDGET_REMOVED = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 2)
    CAMPAIGN_BUDGET_IN_USE = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 3)
    CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 4)
    CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 6)
    CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 7)
    CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 8)
    CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 9)
    CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 10)
    DUPLICATE_NAME = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 11)
    MONEY_AMOUNT_IN_WRONG_CURRENCY = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 12)
    MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 13)
    MONEY_AMOUNT_TOO_LARGE = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 14)
    NEGATIVE_MONEY_AMOUNT = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 15)
    NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT = typing___cast(CampaignBudgetErrorEnum.CampaignBudgetError, 16)


    def __init__(self,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> CampaignBudgetErrorEnum: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
