"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v5.proto.enums.budget_delivery_method_pb2
import google.ads.google_ads.v5.proto.enums.budget_period_pb2
import google.ads.google_ads.v5.proto.enums.budget_status_pb2
import google.ads.google_ads.v5.proto.enums.budget_type_pb2
import google.protobuf.descriptor
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class CampaignBudget(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RESOURCE_NAME_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    AMOUNT_MICROS_FIELD_NUMBER: builtins.int
    TOTAL_AMOUNT_MICROS_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    DELIVERY_METHOD_FIELD_NUMBER: builtins.int
    EXPLICITLY_SHARED_FIELD_NUMBER: builtins.int
    REFERENCE_COUNT_FIELD_NUMBER: builtins.int
    HAS_RECOMMENDED_BUDGET_FIELD_NUMBER: builtins.int
    RECOMMENDED_BUDGET_AMOUNT_MICROS_FIELD_NUMBER: builtins.int
    PERIOD_FIELD_NUMBER: builtins.int
    RECOMMENDED_BUDGET_ESTIMATED_CHANGE_WEEKLY_CLICKS_FIELD_NUMBER: builtins.int
    RECOMMENDED_BUDGET_ESTIMATED_CHANGE_WEEKLY_COST_MICROS_FIELD_NUMBER: builtins.int
    RECOMMENDED_BUDGET_ESTIMATED_CHANGE_WEEKLY_INTERACTIONS_FIELD_NUMBER: builtins.int
    RECOMMENDED_BUDGET_ESTIMATED_CHANGE_WEEKLY_VIEWS_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    resource_name: typing.Text = ...
    id: builtins.int = ...
    name: typing.Text = ...
    amount_micros: builtins.int = ...
    total_amount_micros: builtins.int = ...
    status: google.ads.google_ads.v5.proto.enums.budget_status_pb2.BudgetStatusEnum.BudgetStatus.V = (
        ...
    )
    delivery_method: google.ads.google_ads.v5.proto.enums.budget_delivery_method_pb2.BudgetDeliveryMethodEnum.BudgetDeliveryMethod.V = (
        ...
    )
    explicitly_shared: builtins.bool = ...
    reference_count: builtins.int = ...
    has_recommended_budget: builtins.bool = ...
    recommended_budget_amount_micros: builtins.int = ...
    period: google.ads.google_ads.v5.proto.enums.budget_period_pb2.BudgetPeriodEnum.BudgetPeriod.V = (
        ...
    )
    recommended_budget_estimated_change_weekly_clicks: builtins.int = ...
    recommended_budget_estimated_change_weekly_cost_micros: builtins.int = ...
    recommended_budget_estimated_change_weekly_interactions: builtins.int = ...
    recommended_budget_estimated_change_weekly_views: builtins.int = ...
    type: google.ads.google_ads.v5.proto.enums.budget_type_pb2.BudgetTypeEnum.BudgetType.V = (
        ...
    )
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        id: builtins.int = ...,
        name: typing.Text = ...,
        amount_micros: builtins.int = ...,
        total_amount_micros: builtins.int = ...,
        status: google.ads.google_ads.v5.proto.enums.budget_status_pb2.BudgetStatusEnum.BudgetStatus.V = ...,
        delivery_method: google.ads.google_ads.v5.proto.enums.budget_delivery_method_pb2.BudgetDeliveryMethodEnum.BudgetDeliveryMethod.V = ...,
        explicitly_shared: builtins.bool = ...,
        reference_count: builtins.int = ...,
        has_recommended_budget: builtins.bool = ...,
        recommended_budget_amount_micros: builtins.int = ...,
        period: google.ads.google_ads.v5.proto.enums.budget_period_pb2.BudgetPeriodEnum.BudgetPeriod.V = ...,
        recommended_budget_estimated_change_weekly_clicks: builtins.int = ...,
        recommended_budget_estimated_change_weekly_cost_micros: builtins.int = ...,
        recommended_budget_estimated_change_weekly_interactions: builtins.int = ...,
        recommended_budget_estimated_change_weekly_views: builtins.int = ...,
        type: google.ads.google_ads.v5.proto.enums.budget_type_pb2.BudgetTypeEnum.BudgetType.V = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "_amount_micros",
            b"_amount_micros",
            "_explicitly_shared",
            b"_explicitly_shared",
            "_has_recommended_budget",
            b"_has_recommended_budget",
            "_id",
            b"_id",
            "_name",
            b"_name",
            "_recommended_budget_amount_micros",
            b"_recommended_budget_amount_micros",
            "_recommended_budget_estimated_change_weekly_clicks",
            b"_recommended_budget_estimated_change_weekly_clicks",
            "_recommended_budget_estimated_change_weekly_cost_micros",
            b"_recommended_budget_estimated_change_weekly_cost_micros",
            "_recommended_budget_estimated_change_weekly_interactions",
            b"_recommended_budget_estimated_change_weekly_interactions",
            "_recommended_budget_estimated_change_weekly_views",
            b"_recommended_budget_estimated_change_weekly_views",
            "_reference_count",
            b"_reference_count",
            "_total_amount_micros",
            b"_total_amount_micros",
            "amount_micros",
            b"amount_micros",
            "explicitly_shared",
            b"explicitly_shared",
            "has_recommended_budget",
            b"has_recommended_budget",
            "id",
            b"id",
            "name",
            b"name",
            "recommended_budget_amount_micros",
            b"recommended_budget_amount_micros",
            "recommended_budget_estimated_change_weekly_clicks",
            b"recommended_budget_estimated_change_weekly_clicks",
            "recommended_budget_estimated_change_weekly_cost_micros",
            b"recommended_budget_estimated_change_weekly_cost_micros",
            "recommended_budget_estimated_change_weekly_interactions",
            b"recommended_budget_estimated_change_weekly_interactions",
            "recommended_budget_estimated_change_weekly_views",
            b"recommended_budget_estimated_change_weekly_views",
            "reference_count",
            b"reference_count",
            "total_amount_micros",
            b"total_amount_micros",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "_amount_micros",
            b"_amount_micros",
            "_explicitly_shared",
            b"_explicitly_shared",
            "_has_recommended_budget",
            b"_has_recommended_budget",
            "_id",
            b"_id",
            "_name",
            b"_name",
            "_recommended_budget_amount_micros",
            b"_recommended_budget_amount_micros",
            "_recommended_budget_estimated_change_weekly_clicks",
            b"_recommended_budget_estimated_change_weekly_clicks",
            "_recommended_budget_estimated_change_weekly_cost_micros",
            b"_recommended_budget_estimated_change_weekly_cost_micros",
            "_recommended_budget_estimated_change_weekly_interactions",
            b"_recommended_budget_estimated_change_weekly_interactions",
            "_recommended_budget_estimated_change_weekly_views",
            b"_recommended_budget_estimated_change_weekly_views",
            "_reference_count",
            b"_reference_count",
            "_total_amount_micros",
            b"_total_amount_micros",
            "amount_micros",
            b"amount_micros",
            "delivery_method",
            b"delivery_method",
            "explicitly_shared",
            b"explicitly_shared",
            "has_recommended_budget",
            b"has_recommended_budget",
            "id",
            b"id",
            "name",
            b"name",
            "period",
            b"period",
            "recommended_budget_amount_micros",
            b"recommended_budget_amount_micros",
            "recommended_budget_estimated_change_weekly_clicks",
            b"recommended_budget_estimated_change_weekly_clicks",
            "recommended_budget_estimated_change_weekly_cost_micros",
            b"recommended_budget_estimated_change_weekly_cost_micros",
            "recommended_budget_estimated_change_weekly_interactions",
            b"recommended_budget_estimated_change_weekly_interactions",
            "recommended_budget_estimated_change_weekly_views",
            b"recommended_budget_estimated_change_weekly_views",
            "reference_count",
            b"reference_count",
            "resource_name",
            b"resource_name",
            "status",
            b"status",
            "total_amount_micros",
            b"total_amount_micros",
            "type",
            b"type",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal["_amount_micros", b"_amount_micros"],
    ) -> typing_extensions.Literal["amount_micros"]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_explicitly_shared", b"_explicitly_shared"
        ],
    ) -> typing_extensions.Literal["explicitly_shared"]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_has_recommended_budget", b"_has_recommended_budget"
        ],
    ) -> typing_extensions.Literal["has_recommended_budget"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_id", b"_id"]
    ) -> typing_extensions.Literal["id"]: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["_name", b"_name"]
    ) -> typing_extensions.Literal["name"]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_recommended_budget_amount_micros", b"_recommended_budget_amount_micros"
        ],
    ) -> typing_extensions.Literal["recommended_budget_amount_micros"]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_recommended_budget_estimated_change_weekly_clicks",
            b"_recommended_budget_estimated_change_weekly_clicks",
        ],
    ) -> typing_extensions.Literal[
        "recommended_budget_estimated_change_weekly_clicks"
    ]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_recommended_budget_estimated_change_weekly_cost_micros",
            b"_recommended_budget_estimated_change_weekly_cost_micros",
        ],
    ) -> typing_extensions.Literal[
        "recommended_budget_estimated_change_weekly_cost_micros"
    ]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_recommended_budget_estimated_change_weekly_interactions",
            b"_recommended_budget_estimated_change_weekly_interactions",
        ],
    ) -> typing_extensions.Literal[
        "recommended_budget_estimated_change_weekly_interactions"
    ]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_recommended_budget_estimated_change_weekly_views",
            b"_recommended_budget_estimated_change_weekly_views",
        ],
    ) -> typing_extensions.Literal[
        "recommended_budget_estimated_change_weekly_views"
    ]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal["_reference_count", b"_reference_count"],
    ) -> typing_extensions.Literal["reference_count"]: ...
    @typing.overload
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "_total_amount_micros", b"_total_amount_micros"
        ],
    ) -> typing_extensions.Literal["total_amount_micros"]: ...

global___CampaignBudget = CampaignBudget
