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 { AccountBudgetProposalTypeEnum_AccountBudgetProposalType } from "../enums/account_budget_proposal_type"; import { SpendingLimitTypeEnum_SpendingLimitType } from "../enums/spending_limit_type"; import { TimeTypeEnum_TimeType } from "../enums/time_type"; import { AccountBudgetStatusEnum_AccountBudgetStatus } from "../enums/account_budget_status"; /** * An account-level budget. It contains information about the budget itself, * as well as the most recently approved changes to the budget and proposed * changes that are pending approval. The proposed changes that are pending * approval, if any, are found in 'pending_proposal'. Effective details about * the budget are found in fields prefixed 'approved_', 'adjusted_' and those * without a prefix. Since some effective details may differ from what the user * had originally requested (for example, spending limit), these differences are * juxtaposed through 'proposed_', 'approved_', and possibly 'adjusted_' fields. * * This resource is mutated using AccountBudgetProposal and cannot be mutated * directly. A budget may have at most one pending proposal at any given time. * It is read through pending_proposal. * * Once approved, a budget may be subject to adjustments, such as credit * adjustments. Adjustments create differences between the 'approved' and * 'adjusted' fields, which would otherwise be identical. * * @generated from protobuf message google.ads.googleads.v11.resources.AccountBudget */ export interface AccountBudget { /** * Output only. The resource name of the account-level budget. * AccountBudget resource names have the form: * * `customers/{customer_id}/accountBudgets/{account_budget_id}` * * @generated from protobuf field: string resource_name = 1; */ resourceName: string; /** * Output only. The ID of the account-level budget. * * @generated from protobuf field: optional int64 id = 23; */ id?: bigint; /** * Output only. The resource name of the billing setup associated with this account-level * budget. BillingSetup resource names have the form: * * `customers/{customer_id}/billingSetups/{billing_setup_id}` * * @generated from protobuf field: optional string billing_setup = 24; */ billingSetup?: string; /** * Output only. The status of this account-level budget. * * @generated from protobuf field: google.ads.googleads.v11.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4; */ status: AccountBudgetStatusEnum_AccountBudgetStatus; /** * Output only. The name of the account-level budget. * * @generated from protobuf field: optional string name = 25; */ name?: string; /** * Output only. The proposed start time of the account-level budget in * yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, * this is the time of request. * * @generated from protobuf field: optional string proposed_start_date_time = 26; */ proposedStartDateTime?: string; /** * Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss * format. * * For example, if a new budget is approved after the proposed start time, * the approved start time is the time of approval. * * @generated from protobuf field: optional string approved_start_date_time = 27; */ approvedStartDateTime?: string; /** * Output only. The total adjustments amount. * * An example of an adjustment is courtesy credits. * * @generated from protobuf field: int64 total_adjustments_micros = 33; */ totalAdjustmentsMicros: bigint; /** * Output only. The value of Ads that have been served, in micros. * * This includes overdelivery costs, in which case a credit might be * automatically applied to the budget (see total_adjustments_micros). * * @generated from protobuf field: int64 amount_served_micros = 34; */ amountServedMicros: bigint; /** * Output only. A purchase order number is a value that helps users reference this budget * in their monthly invoices. * * @generated from protobuf field: optional string purchase_order_number = 35; */ purchaseOrderNumber?: string; /** * Output only. Notes associated with the budget. * * @generated from protobuf field: optional string notes = 36; */ notes?: string; /** * Output only. The pending proposal to modify this budget, if applicable. * * @generated from protobuf field: google.ads.googleads.v11.resources.AccountBudget.PendingAccountBudgetProposal pending_proposal = 22; */ pendingProposal?: AccountBudget_PendingAccountBudgetProposal; /** * @generated from protobuf oneof: proposed_end_time */ proposedEndTime: { oneofKind: "proposedEndDateTime"; /** * Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format. * * @generated from protobuf field: string proposed_end_date_time = 28; */ proposedEndDateTime: string; } | { oneofKind: "proposedEndTimeType"; /** * Output only. The proposed end time as a well-defined type, for example, FOREVER. * * @generated from protobuf field: google.ads.googleads.v11.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9; */ proposedEndTimeType: TimeTypeEnum_TimeType; } | { oneofKind: undefined; }; /** * @generated from protobuf oneof: approved_end_time */ approvedEndTime: { oneofKind: "approvedEndDateTime"; /** * Output only. The approved end time in yyyy-MM-dd HH:mm:ss format. * * @generated from protobuf field: string approved_end_date_time = 29; */ approvedEndDateTime: string; } | { oneofKind: "approvedEndTimeType"; /** * Output only. The approved end time as a well-defined type, for example, FOREVER. * * @generated from protobuf field: google.ads.googleads.v11.enums.TimeTypeEnum.TimeType approved_end_time_type = 11; */ approvedEndTimeType: TimeTypeEnum_TimeType; } | { oneofKind: undefined; }; /** * @generated from protobuf oneof: proposed_spending_limit */ proposedSpendingLimit: { oneofKind: "proposedSpendingLimitMicros"; /** * Output only. The proposed spending limit in micros. One million is equivalent to * one unit. * * @generated from protobuf field: int64 proposed_spending_limit_micros = 30; */ proposedSpendingLimitMicros: bigint; } | { oneofKind: "proposedSpendingLimitType"; /** * Output only. The proposed spending limit as a well-defined type, for example, * INFINITE. * * @generated from protobuf field: google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13; */ proposedSpendingLimitType: SpendingLimitTypeEnum_SpendingLimitType; } | { oneofKind: undefined; }; /** * @generated from protobuf oneof: approved_spending_limit */ approvedSpendingLimit: { oneofKind: "approvedSpendingLimitMicros"; /** * Output only. The approved spending limit in micros. One million is equivalent to * one unit. This will only be populated if the proposed spending limit * is finite, and will always be greater than or equal to the * proposed spending limit. * * @generated from protobuf field: int64 approved_spending_limit_micros = 31; */ approvedSpendingLimitMicros: bigint; } | { oneofKind: "approvedSpendingLimitType"; /** * Output only. The approved spending limit as a well-defined type, for example, * INFINITE. This will only be populated if the approved spending limit is * INFINITE. * * @generated from protobuf field: google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15; */ approvedSpendingLimitType: SpendingLimitTypeEnum_SpendingLimitType; } | { oneofKind: undefined; }; /** * @generated from protobuf oneof: adjusted_spending_limit */ adjustedSpendingLimit: { oneofKind: "adjustedSpendingLimitMicros"; /** * Output only. The adjusted spending limit in micros. One million is equivalent to * one unit. * * If the approved spending limit is finite, the adjusted * spending limit may vary depending on the types of adjustments applied * to this budget, if applicable. * * The different kinds of adjustments are described here: * https://support.google.com/google-ads/answer/1704323 * * For example, a debit adjustment reduces how much the account is * allowed to spend. * * @generated from protobuf field: int64 adjusted_spending_limit_micros = 32; */ adjustedSpendingLimitMicros: bigint; } | { oneofKind: "adjustedSpendingLimitType"; /** * Output only. The adjusted spending limit as a well-defined type, for example, * INFINITE. This will only be populated if the adjusted spending limit is * INFINITE, which is guaranteed to be true if the approved spending limit * is INFINITE. * * @generated from protobuf field: google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17; */ adjustedSpendingLimitType: SpendingLimitTypeEnum_SpendingLimitType; } | { oneofKind: undefined; }; } /** * A pending proposal associated with the enclosing account-level budget, * if applicable. * * @generated from protobuf message google.ads.googleads.v11.resources.AccountBudget.PendingAccountBudgetProposal */ export interface AccountBudget_PendingAccountBudgetProposal { /** * Output only. The resource name of the proposal. * AccountBudgetProposal resource names have the form: * * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` * * @generated from protobuf field: optional string account_budget_proposal = 12; */ accountBudgetProposal?: string; /** * Output only. The type of this proposal, for example, END to end the budget associated * with this proposal. * * @generated from protobuf field: google.ads.googleads.v11.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2; */ proposalType: AccountBudgetProposalTypeEnum_AccountBudgetProposalType; /** * Output only. The name to assign to the account-level budget. * * @generated from protobuf field: optional string name = 13; */ name?: string; /** * Output only. The start time in yyyy-MM-dd HH:mm:ss format. * * @generated from protobuf field: optional string start_date_time = 14; */ startDateTime?: string; /** * Output only. A purchase order number is a value that helps users reference this budget * in their monthly invoices. * * @generated from protobuf field: optional string purchase_order_number = 17; */ purchaseOrderNumber?: string; /** * Output only. Notes associated with this budget. * * @generated from protobuf field: optional string notes = 18; */ notes?: string; /** * Output only. The time when this account-level budget proposal was created. * Formatted as yyyy-MM-dd HH:mm:ss. * * @generated from protobuf field: optional string creation_date_time = 19; */ creationDateTime?: string; /** * @generated from protobuf oneof: end_time */ endTime: { oneofKind: "endDateTime"; /** * Output only. The end time in yyyy-MM-dd HH:mm:ss format. * * @generated from protobuf field: string end_date_time = 15; */ endDateTime: string; } | { oneofKind: "endTimeType"; /** * Output only. The end time as a well-defined type, for example, FOREVER. * * @generated from protobuf field: google.ads.googleads.v11.enums.TimeTypeEnum.TimeType end_time_type = 6; */ endTimeType: TimeTypeEnum_TimeType; } | { oneofKind: undefined; }; /** * @generated from protobuf oneof: spending_limit */ spendingLimit: { oneofKind: "spendingLimitMicros"; /** * Output only. The spending limit in micros. One million is equivalent to * one unit. * * @generated from protobuf field: int64 spending_limit_micros = 16; */ spendingLimitMicros: bigint; } | { oneofKind: "spendingLimitType"; /** * Output only. The spending limit as a well-defined type, for example, INFINITE. * * @generated from protobuf field: google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8; */ spendingLimitType: SpendingLimitTypeEnum_SpendingLimitType; } | { oneofKind: undefined; }; } declare class AccountBudget$Type extends MessageType { constructor(); create(value?: PartialMessage): AccountBudget; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AccountBudget): AccountBudget; internalBinaryWrite(message: AccountBudget, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.resources.AccountBudget */ export declare const AccountBudget: AccountBudget$Type; declare class AccountBudget_PendingAccountBudgetProposal$Type extends MessageType { constructor(); create(value?: PartialMessage): AccountBudget_PendingAccountBudgetProposal; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AccountBudget_PendingAccountBudgetProposal): AccountBudget_PendingAccountBudgetProposal; internalBinaryWrite(message: AccountBudget_PendingAccountBudgetProposal, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.resources.AccountBudget.PendingAccountBudgetProposal */ export declare const AccountBudget_PendingAccountBudgetProposal: AccountBudget_PendingAccountBudgetProposal$Type; export {};