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 { SpendingLimitTypeEnum_SpendingLimitType } from "../enums/spending_limit_type"; import { TimeTypeEnum_TimeType } from "../enums/time_type"; import { AccountBudgetProposalStatusEnum_AccountBudgetProposalStatus } from "../enums/account_budget_proposal_status"; import { AccountBudgetProposalTypeEnum_AccountBudgetProposalType } from "../enums/account_budget_proposal_type"; /** * An account-level budget proposal. * * All fields prefixed with 'proposed' may not necessarily be applied directly. * For example, proposed spending limits may be adjusted before their * application. This is true if the 'proposed' field has an 'approved' * counterpart, for example, spending limits. * * Note that the proposal type (proposal_type) changes which fields are * required and which must remain empty. * * @generated from protobuf message google.ads.googleads.v11.resources.AccountBudgetProposal */ export interface AccountBudgetProposal { /** * Immutable. The resource name of the proposal. * AccountBudgetProposal resource names have the form: * * `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` * * @generated from protobuf field: string resource_name = 1; */ resourceName: string; /** * Output only. The ID of the proposal. * * @generated from protobuf field: optional int64 id = 25; */ id?: bigint; /** * Immutable. The resource name of the billing setup associated with this proposal. * * @generated from protobuf field: optional string billing_setup = 26; */ billingSetup?: string; /** * Immutable. The resource name of the account-level budget associated with this * proposal. * * @generated from protobuf field: optional string account_budget = 27; */ accountBudget?: string; /** * Immutable. 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 = 4; */ proposalType: AccountBudgetProposalTypeEnum_AccountBudgetProposalType; /** * Output only. The status of this proposal. * When a new proposal is created, the status defaults to PENDING. * * @generated from protobuf field: google.ads.googleads.v11.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15; */ status: AccountBudgetProposalStatusEnum_AccountBudgetProposalStatus; /** * Immutable. The name to assign to the account-level budget. * * @generated from protobuf field: optional string proposed_name = 28; */ proposedName?: string; /** * Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format. * * @generated from protobuf field: optional string approved_start_date_time = 30; */ approvedStartDateTime?: string; /** * Immutable. A purchase order number is a value that enables the user to help them * reference this budget in their monthly invoices. * * @generated from protobuf field: optional string proposed_purchase_order_number = 35; */ proposedPurchaseOrderNumber?: string; /** * Immutable. Notes associated with this budget. * * @generated from protobuf field: optional string proposed_notes = 36; */ proposedNotes?: string; /** * Output only. The date time when this account-level budget proposal was created, which is * not the same as its approval date time, if applicable. * * @generated from protobuf field: optional string creation_date_time = 37; */ creationDateTime?: string; /** * Output only. The date time when this account-level budget was approved, if applicable. * * @generated from protobuf field: optional string approval_date_time = 38; */ approvalDateTime?: string; /** * @generated from protobuf oneof: proposed_start_time */ proposedStartTime: { oneofKind: "proposedStartDateTime"; /** * Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format. * * @generated from protobuf field: string proposed_start_date_time = 29; */ proposedStartDateTime: string; } | { oneofKind: "proposedStartTimeType"; /** * Immutable. The proposed start date time as a well-defined type, for example, NOW. * * @generated from protobuf field: google.ads.googleads.v11.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7; */ proposedStartTimeType: TimeTypeEnum_TimeType; } | { oneofKind: undefined; }; /** * @generated from protobuf oneof: proposed_end_time */ proposedEndTime: { oneofKind: "proposedEndDateTime"; /** * Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format. * * @generated from protobuf field: string proposed_end_date_time = 31; */ proposedEndDateTime: string; } | { oneofKind: "proposedEndTimeType"; /** * Immutable. The proposed end date 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 date time in yyyy-mm-dd hh:mm:ss format. * * @generated from protobuf field: string approved_end_date_time = 32; */ approvedEndDateTime: string; } | { oneofKind: "approvedEndTimeType"; /** * Output only. The approved end date time as a well-defined type, for example, FOREVER. * * @generated from protobuf field: google.ads.googleads.v11.enums.TimeTypeEnum.TimeType approved_end_time_type = 22; */ approvedEndTimeType: TimeTypeEnum_TimeType; } | { oneofKind: undefined; }; /** * @generated from protobuf oneof: proposed_spending_limit */ proposedSpendingLimit: { oneofKind: "proposedSpendingLimitMicros"; /** * Immutable. The proposed spending limit in micros. One million is equivalent to * one unit. * * @generated from protobuf field: int64 proposed_spending_limit_micros = 33; */ proposedSpendingLimitMicros: bigint; } | { oneofKind: "proposedSpendingLimitType"; /** * Immutable. 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 = 11; */ 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. * * @generated from protobuf field: int64 approved_spending_limit_micros = 34; */ approvedSpendingLimitMicros: bigint; } | { oneofKind: "approvedSpendingLimitType"; /** * Output only. The approved spending limit as a well-defined type, for example, * INFINITE. * * @generated from protobuf field: google.ads.googleads.v11.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24; */ approvedSpendingLimitType: SpendingLimitTypeEnum_SpendingLimitType; } | { oneofKind: undefined; }; } declare class AccountBudgetProposal$Type extends MessageType { constructor(); create(value?: PartialMessage): AccountBudgetProposal; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AccountBudgetProposal): AccountBudgetProposal; internalBinaryWrite(message: AccountBudgetProposal, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.resources.AccountBudgetProposal */ export declare const AccountBudgetProposal: AccountBudgetProposal$Type; export {};