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";
/**
 * Container for enum describing possible account budget proposal errors.
 *
 * @generated from protobuf message google.ads.googleads.v11.errors.AccountBudgetProposalErrorEnum
 */
export interface AccountBudgetProposalErrorEnum {
}
/**
 * Enum describing possible account budget proposal errors.
 *
 * @generated from protobuf enum google.ads.googleads.v11.errors.AccountBudgetProposalErrorEnum.AccountBudgetProposalError
 */
export declare enum AccountBudgetProposalErrorEnum_AccountBudgetProposalError {
    /**
     * Enum unspecified.
     *
     * @generated from protobuf enum value: UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * The received error code is not known in this version.
     *
     * @generated from protobuf enum value: UNKNOWN = 1;
     */
    UNKNOWN = 1,
    /**
     * The field mask must be empty for create/end/remove proposals.
     *
     * @generated from protobuf enum value: FIELD_MASK_NOT_ALLOWED = 2;
     */
    FIELD_MASK_NOT_ALLOWED = 2,
    /**
     * The field cannot be set because of the proposal type.
     *
     * @generated from protobuf enum value: IMMUTABLE_FIELD = 3;
     */
    IMMUTABLE_FIELD = 3,
    /**
     * The field is required because of the proposal type.
     *
     * @generated from protobuf enum value: REQUIRED_FIELD_MISSING = 4;
     */
    REQUIRED_FIELD_MISSING = 4,
    /**
     * Proposals that have been approved cannot be cancelled.
     *
     * @generated from protobuf enum value: CANNOT_CANCEL_APPROVED_PROPOSAL = 5;
     */
    CANNOT_CANCEL_APPROVED_PROPOSAL = 5,
    /**
     * Budgets that haven't been approved cannot be removed.
     *
     * @generated from protobuf enum value: CANNOT_REMOVE_UNAPPROVED_BUDGET = 6;
     */
    CANNOT_REMOVE_UNAPPROVED_BUDGET = 6,
    /**
     * Budgets that are currently running cannot be removed.
     *
     * @generated from protobuf enum value: CANNOT_REMOVE_RUNNING_BUDGET = 7;
     */
    CANNOT_REMOVE_RUNNING_BUDGET = 7,
    /**
     * Budgets that haven't been approved cannot be truncated.
     *
     * @generated from protobuf enum value: CANNOT_END_UNAPPROVED_BUDGET = 8;
     */
    CANNOT_END_UNAPPROVED_BUDGET = 8,
    /**
     * Only budgets that are currently running can be truncated.
     *
     * @generated from protobuf enum value: CANNOT_END_INACTIVE_BUDGET = 9;
     */
    CANNOT_END_INACTIVE_BUDGET = 9,
    /**
     * All budgets must have names.
     *
     * @generated from protobuf enum value: BUDGET_NAME_REQUIRED = 10;
     */
    BUDGET_NAME_REQUIRED = 10,
    /**
     * Expired budgets cannot be edited after a sufficient amount of time has
     * passed.
     *
     * @generated from protobuf enum value: CANNOT_UPDATE_OLD_BUDGET = 11;
     */
    CANNOT_UPDATE_OLD_BUDGET = 11,
    /**
     * It is not permissible a propose a new budget that ends in the past.
     *
     * @generated from protobuf enum value: CANNOT_END_IN_PAST = 12;
     */
    CANNOT_END_IN_PAST = 12,
    /**
     * An expired budget cannot be extended to overlap with the running budget.
     *
     * @generated from protobuf enum value: CANNOT_EXTEND_END_TIME = 13;
     */
    CANNOT_EXTEND_END_TIME = 13,
    /**
     * A purchase order number is required.
     *
     * @generated from protobuf enum value: PURCHASE_ORDER_NUMBER_REQUIRED = 14;
     */
    PURCHASE_ORDER_NUMBER_REQUIRED = 14,
    /**
     * Budgets that have a pending update cannot be updated.
     *
     * @generated from protobuf enum value: PENDING_UPDATE_PROPOSAL_EXISTS = 15;
     */
    PENDING_UPDATE_PROPOSAL_EXISTS = 15,
    /**
     * Cannot propose more than one budget when the corresponding billing setup
     * hasn't been approved.
     *
     * @generated from protobuf enum value: MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16;
     */
    MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16,
    /**
     * Cannot update the start time of a budget that has already started.
     *
     * @generated from protobuf enum value: CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17;
     */
    CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17,
    /**
     * Cannot update the spending limit of a budget with an amount lower than
     * what has already been spent.
     *
     * @generated from protobuf enum value: SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18;
     */
    SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18,
    /**
     * Cannot propose a budget update without actually changing any fields.
     *
     * @generated from protobuf enum value: UPDATE_IS_NO_OP = 19;
     */
    UPDATE_IS_NO_OP = 19,
    /**
     * The end time must come after the start time.
     *
     * @generated from protobuf enum value: END_TIME_MUST_FOLLOW_START_TIME = 20;
     */
    END_TIME_MUST_FOLLOW_START_TIME = 20,
    /**
     * The budget's date range must fall within the date range of its billing
     * setup.
     *
     * @generated from protobuf enum value: BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21;
     */
    BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21,
    /**
     * The user is not authorized to mutate budgets for the given billing setup.
     *
     * @generated from protobuf enum value: NOT_AUTHORIZED = 22;
     */
    NOT_AUTHORIZED = 22,
    /**
     * Mutates are not allowed for the given billing setup.
     *
     * @generated from protobuf enum value: INVALID_BILLING_SETUP = 23;
     */
    INVALID_BILLING_SETUP = 23,
    /**
     * Budget creation failed as it overlaps with an pending budget proposal
     * or an approved budget.
     *
     * @generated from protobuf enum value: OVERLAPS_EXISTING_BUDGET = 24;
     */
    OVERLAPS_EXISTING_BUDGET = 24,
    /**
     * The control setting in user's payments profile doesn't allow budget
     * creation through API. Log in to Google Ads to create budget.
     *
     * @generated from protobuf enum value: CANNOT_CREATE_BUDGET_THROUGH_API = 25;
     */
    CANNOT_CREATE_BUDGET_THROUGH_API = 25
}
declare class AccountBudgetProposalErrorEnum$Type extends MessageType<AccountBudgetProposalErrorEnum> {
    constructor();
    create(value?: PartialMessage<AccountBudgetProposalErrorEnum>): AccountBudgetProposalErrorEnum;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AccountBudgetProposalErrorEnum): AccountBudgetProposalErrorEnum;
    internalBinaryWrite(message: AccountBudgetProposalErrorEnum, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.ads.googleads.v11.errors.AccountBudgetProposalErrorEnum
 */
export declare const AccountBudgetProposalErrorEnum: AccountBudgetProposalErrorEnum$Type;
export {};
