# @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 RecommendationErrorEnum(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class RecommendationError(int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: int) -> str: ...
        @classmethod
        def Value(cls, name: str) -> RecommendationErrorEnum.RecommendationError: ...
        @classmethod
        def keys(cls) -> typing___List[str]: ...
        @classmethod
        def values(cls) -> typing___List[RecommendationErrorEnum.RecommendationError]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[str, RecommendationErrorEnum.RecommendationError]]: ...
        UNSPECIFIED = typing___cast(RecommendationErrorEnum.RecommendationError, 0)
        UNKNOWN = typing___cast(RecommendationErrorEnum.RecommendationError, 1)
        BUDGET_AMOUNT_TOO_SMALL = typing___cast(RecommendationErrorEnum.RecommendationError, 2)
        BUDGET_AMOUNT_TOO_LARGE = typing___cast(RecommendationErrorEnum.RecommendationError, 3)
        INVALID_BUDGET_AMOUNT = typing___cast(RecommendationErrorEnum.RecommendationError, 4)
        POLICY_ERROR = typing___cast(RecommendationErrorEnum.RecommendationError, 5)
        INVALID_BID_AMOUNT = typing___cast(RecommendationErrorEnum.RecommendationError, 6)
        ADGROUP_KEYWORD_LIMIT = typing___cast(RecommendationErrorEnum.RecommendationError, 7)
        RECOMMENDATION_ALREADY_APPLIED = typing___cast(RecommendationErrorEnum.RecommendationError, 8)
        RECOMMENDATION_INVALIDATED = typing___cast(RecommendationErrorEnum.RecommendationError, 9)
        TOO_MANY_OPERATIONS = typing___cast(RecommendationErrorEnum.RecommendationError, 10)
        NO_OPERATIONS = typing___cast(RecommendationErrorEnum.RecommendationError, 11)
        DIFFERENT_TYPES_NOT_SUPPORTED = typing___cast(RecommendationErrorEnum.RecommendationError, 12)
        DUPLICATE_RESOURCE_NAME = typing___cast(RecommendationErrorEnum.RecommendationError, 13)
        RECOMMENDATION_ALREADY_DISMISSED = typing___cast(RecommendationErrorEnum.RecommendationError, 14)
        INVALID_APPLY_REQUEST = typing___cast(RecommendationErrorEnum.RecommendationError, 15)
    UNSPECIFIED = typing___cast(RecommendationErrorEnum.RecommendationError, 0)
    UNKNOWN = typing___cast(RecommendationErrorEnum.RecommendationError, 1)
    BUDGET_AMOUNT_TOO_SMALL = typing___cast(RecommendationErrorEnum.RecommendationError, 2)
    BUDGET_AMOUNT_TOO_LARGE = typing___cast(RecommendationErrorEnum.RecommendationError, 3)
    INVALID_BUDGET_AMOUNT = typing___cast(RecommendationErrorEnum.RecommendationError, 4)
    POLICY_ERROR = typing___cast(RecommendationErrorEnum.RecommendationError, 5)
    INVALID_BID_AMOUNT = typing___cast(RecommendationErrorEnum.RecommendationError, 6)
    ADGROUP_KEYWORD_LIMIT = typing___cast(RecommendationErrorEnum.RecommendationError, 7)
    RECOMMENDATION_ALREADY_APPLIED = typing___cast(RecommendationErrorEnum.RecommendationError, 8)
    RECOMMENDATION_INVALIDATED = typing___cast(RecommendationErrorEnum.RecommendationError, 9)
    TOO_MANY_OPERATIONS = typing___cast(RecommendationErrorEnum.RecommendationError, 10)
    NO_OPERATIONS = typing___cast(RecommendationErrorEnum.RecommendationError, 11)
    DIFFERENT_TYPES_NOT_SUPPORTED = typing___cast(RecommendationErrorEnum.RecommendationError, 12)
    DUPLICATE_RESOURCE_NAME = typing___cast(RecommendationErrorEnum.RecommendationError, 13)
    RECOMMENDATION_ALREADY_DISMISSED = typing___cast(RecommendationErrorEnum.RecommendationError, 14)
    INVALID_APPLY_REQUEST = typing___cast(RecommendationErrorEnum.RecommendationError, 15)


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