import type { BinaryWriteOptions } from "@protobuf-ts/runtime"; import type { IBinaryWriter } from "@protobuf-ts/runtime"; import type { BinaryReadOptions } from "@protobuf-ts/runtime"; import type { IBinaryReader } from "@protobuf-ts/runtime"; import type { PartialMessage } from "@protobuf-ts/runtime"; import { MessageType } from "@protobuf-ts/runtime"; import { BudgetTypeEnum_BudgetType } from "../enums/budget_type"; import { BudgetPeriodEnum_BudgetPeriod } from "../enums/budget_period"; import { BudgetDeliveryMethodEnum_BudgetDeliveryMethod } from "../enums/budget_delivery_method"; import { BudgetStatusEnum_BudgetStatus } from "../enums/budget_status"; /** * A campaign budget. * * @generated from protobuf message google.ads.googleads.v11.resources.CampaignBudget */ export interface CampaignBudget { /** * Immutable. The resource name of the campaign budget. * Campaign budget resource names have the form: * * `customers/{customer_id}/campaignBudgets/{campaign_budget_id}` * * @generated from protobuf field: string resource_name = 1; */ resourceName: string; /** * Output only. The ID of the campaign budget. * * A campaign budget is created using the CampaignBudgetService create * operation and is assigned a budget ID. A budget ID can be shared across * different campaigns; the system will then allocate the campaign budget * among different campaigns to get optimum results. * * @generated from protobuf field: optional int64 id = 19; */ id?: bigint; /** * The name of the campaign budget. * * When creating a campaign budget through CampaignBudgetService, every * explicitly shared campaign budget must have a non-null, non-empty name. * Campaign budgets that are not explicitly shared derive their name from the * attached campaign's name. * * The length of this string must be between 1 and 255, inclusive, * in UTF-8 bytes, (trimmed). * * @generated from protobuf field: optional string name = 20; */ name?: string; /** * The amount of the budget, in the local currency for the account. * Amount is specified in micros, where one million is equivalent to one * currency unit. Monthly spend is capped at 30.4 times this amount. * * @generated from protobuf field: optional int64 amount_micros = 21; */ amountMicros?: bigint; /** * The lifetime amount of the budget, in the local currency for the account. * Amount is specified in micros, where one million is equivalent to one * currency unit. * * @generated from protobuf field: optional int64 total_amount_micros = 22; */ totalAmountMicros?: bigint; /** * Output only. The status of this campaign budget. This field is read-only. * * @generated from protobuf field: google.ads.googleads.v11.enums.BudgetStatusEnum.BudgetStatus status = 6; */ status: BudgetStatusEnum_BudgetStatus; /** * The delivery method that determines the rate at which the campaign budget * is spent. * * Defaults to STANDARD if unspecified in a create operation. * * @generated from protobuf field: google.ads.googleads.v11.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7; */ deliveryMethod: BudgetDeliveryMethodEnum_BudgetDeliveryMethod; /** * Specifies whether the budget is explicitly shared. Defaults to true if * unspecified in a create operation. * * If true, the budget was created with the purpose of sharing * across one or more campaigns. * * If false, the budget was created with the intention of only being used * with a single campaign. The budget's name and status will stay in sync * with the campaign's name and status. Attempting to share the budget with a * second campaign will result in an error. * * A non-shared budget can become an explicitly shared. The same operation * must also assign the budget a name. * * A shared campaign budget can never become non-shared. * * @generated from protobuf field: optional bool explicitly_shared = 23; */ explicitlyShared?: boolean; /** * Output only. The number of campaigns actively using the budget. * * This field is read-only. * * @generated from protobuf field: optional int64 reference_count = 24; */ referenceCount?: bigint; /** * Output only. Indicates whether there is a recommended budget for this campaign budget. * * This field is read-only. * * @generated from protobuf field: optional bool has_recommended_budget = 25; */ hasRecommendedBudget?: boolean; /** * Output only. The recommended budget amount. If no recommendation is available, this will * be set to the budget amount. * Amount is specified in micros, where one million is equivalent to one * currency unit. * * This field is read-only. * * @generated from protobuf field: optional int64 recommended_budget_amount_micros = 26; */ recommendedBudgetAmountMicros?: bigint; /** * Immutable. Period over which to spend the budget. Defaults to DAILY if not specified. * * @generated from protobuf field: google.ads.googleads.v11.enums.BudgetPeriodEnum.BudgetPeriod period = 13; */ period: BudgetPeriodEnum_BudgetPeriod; /** * Output only. The estimated change in weekly clicks if the recommended budget is applied. * * This field is read-only. * * @generated from protobuf field: optional int64 recommended_budget_estimated_change_weekly_clicks = 27; */ recommendedBudgetEstimatedChangeWeeklyClicks?: bigint; /** * Output only. The estimated change in weekly cost in micros if the recommended budget is * applied. One million is equivalent to one currency unit. * * This field is read-only. * * @generated from protobuf field: optional int64 recommended_budget_estimated_change_weekly_cost_micros = 28; */ recommendedBudgetEstimatedChangeWeeklyCostMicros?: bigint; /** * Output only. The estimated change in weekly interactions if the recommended budget is * applied. * * This field is read-only. * * @generated from protobuf field: optional int64 recommended_budget_estimated_change_weekly_interactions = 29; */ recommendedBudgetEstimatedChangeWeeklyInteractions?: bigint; /** * Output only. The estimated change in weekly views if the recommended budget is applied. * * This field is read-only. * * @generated from protobuf field: optional int64 recommended_budget_estimated_change_weekly_views = 30; */ recommendedBudgetEstimatedChangeWeeklyViews?: bigint; /** * Immutable. The type of the campaign budget. * * @generated from protobuf field: google.ads.googleads.v11.enums.BudgetTypeEnum.BudgetType type = 18; */ type: BudgetTypeEnum_BudgetType; } declare class CampaignBudget$Type extends MessageType { constructor(); create(value?: PartialMessage): CampaignBudget; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CampaignBudget): CampaignBudget; internalBinaryWrite(message: CampaignBudget, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.resources.CampaignBudget */ export declare const CampaignBudget: CampaignBudget$Type; export {};