"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.ads.google_ads.v4.proto.enums.budget_delivery_method_pb2
import google.ads.google_ads.v4.proto.enums.budget_period_pb2
import google.ads.google_ads.v4.proto.enums.budget_status_pb2
import google.ads.google_ads.v4.proto.enums.budget_type_pb2
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.wrappers_pb2
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 = ...
    status: google.ads.google_ads.v4.proto.enums.budget_status_pb2.BudgetStatusEnum.BudgetStatus.V = (
        ...
    )
    delivery_method: google.ads.google_ads.v4.proto.enums.budget_delivery_method_pb2.BudgetDeliveryMethodEnum.BudgetDeliveryMethod.V = (
        ...
    )
    period: google.ads.google_ads.v4.proto.enums.budget_period_pb2.BudgetPeriodEnum.BudgetPeriod.V = (
        ...
    )
    type: google.ads.google_ads.v4.proto.enums.budget_type_pb2.BudgetTypeEnum.BudgetType.V = (
        ...
    )
    @property
    def id(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def amount_micros(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def total_amount_micros(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def explicitly_shared(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def reference_count(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def has_recommended_budget(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def recommended_budget_amount_micros(
        self,
    ) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def recommended_budget_estimated_change_weekly_clicks(
        self,
    ) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def recommended_budget_estimated_change_weekly_cost_micros(
        self,
    ) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def recommended_budget_estimated_change_weekly_interactions(
        self,
    ) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def recommended_budget_estimated_change_weekly_views(
        self,
    ) -> google.protobuf.wrappers_pb2.Int64Value: ...
    def __init__(
        self,
        *,
        resource_name: typing.Text = ...,
        id: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        name: typing.Optional[google.protobuf.wrappers_pb2.StringValue] = ...,
        amount_micros: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        total_amount_micros: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
        status: google.ads.google_ads.v4.proto.enums.budget_status_pb2.BudgetStatusEnum.BudgetStatus.V = ...,
        delivery_method: google.ads.google_ads.v4.proto.enums.budget_delivery_method_pb2.BudgetDeliveryMethodEnum.BudgetDeliveryMethod.V = ...,
        explicitly_shared: typing.Optional[
            google.protobuf.wrappers_pb2.BoolValue
        ] = ...,
        reference_count: typing.Optional[google.protobuf.wrappers_pb2.Int64Value] = ...,
        has_recommended_budget: typing.Optional[
            google.protobuf.wrappers_pb2.BoolValue
        ] = ...,
        recommended_budget_amount_micros: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
        period: google.ads.google_ads.v4.proto.enums.budget_period_pb2.BudgetPeriodEnum.BudgetPeriod.V = ...,
        recommended_budget_estimated_change_weekly_clicks: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
        recommended_budget_estimated_change_weekly_cost_micros: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
        recommended_budget_estimated_change_weekly_interactions: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
        recommended_budget_estimated_change_weekly_views: typing.Optional[
            google.protobuf.wrappers_pb2.Int64Value
        ] = ...,
        type: google.ads.google_ads.v4.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",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "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: ...

global___CampaignBudget = CampaignBudget
