import { APIResource } from "../../resource.js";
import * as Core from "../../core.js";
import * as PricesAPI from "./prices.js";
import * as Shared from "../shared.js";
import { PricesPage } from "../shared.js";
import * as ExternalPriceIDAPI from "./external-price-id.js";
import { ExternalPriceID, ExternalPriceIDUpdateParams } from "./external-price-id.js";
import { type PageParams } from "../../pagination.js";
/**
 * The Price resource represents a price that can be billed on a subscription, resulting in a charge on an invoice in
 * the form of an invoice line item. Prices take a quantity and determine an amount to bill.
 *
 * Orb supports a few different pricing models out of the box. Each of these models is serialized differently in a
 * given Price object. The model_type field determines the key for the configuration object that is present.
 *
 * For more on the types of prices, see [the core concepts documentation](/core-concepts#plan-and-price)
 */
export declare class Prices extends APIResource {
    externalPriceId: ExternalPriceIDAPI.ExternalPriceID;
    /**
     * This endpoint is used to create a [price](/product-catalog/price-configuration).
     * A price created using this endpoint is always an add-on, meaning that it's not
     * associated with a specific plan and can instead be individually added to
     * subscriptions, including subscriptions on different plans.
     *
     * An `external_price_id` can be optionally specified as an alias to allow
     * ergonomic interaction with prices in the Orb API.
     *
     * See the [Price resource](/product-catalog/price-configuration) for the
     * specification of different price model configurations possible in this endpoint.
     */
    create(body: PriceCreateParams, options?: Core.RequestOptions): Core.APIPromise<Shared.Price>;
    /**
     * This endpoint allows you to update the `metadata` property on a price. If you
     * pass null for the metadata value, it will clear any existing metadata for that
     * price.
     */
    update(priceId: string, body: PriceUpdateParams, options?: Core.RequestOptions): Core.APIPromise<Shared.Price>;
    /**
     * This endpoint is used to list all add-on prices created using the
     * [price creation endpoint](/api-reference/price/create-price).
     */
    list(query?: PriceListParams, options?: Core.RequestOptions): Core.PagePromise<PricesPage, Shared.Price>;
    list(options?: Core.RequestOptions): Core.PagePromise<PricesPage, Shared.Price>;
    /**
     * [NOTE] It is recommended to use the `/v1/prices/evaluate` which offers further
     * functionality, such as multiple prices, inline price definitions, and querying
     * over preview events.
     *
     * This endpoint is used to evaluate the output of a price for a given customer and
     * time range. It enables filtering and grouping the output using
     * [computed properties](/extensibility/advanced-metrics#computed-properties),
     * supporting the following workflows:
     *
     * 1. Showing detailed usage and costs to the end customer.
     * 2. Auditing subtotals on invoice line items.
     *
     * For these workflows, the expressiveness of computed properties in both the
     * filters and grouping is critical. For example, if you'd like to show your
     * customer their usage grouped by hour and another property, you can do so with
     * the following `grouping_keys`:
     * `["hour_floor_timestamp_millis(timestamp_millis)", "my_property"]`. If you'd
     * like to examine a customer's usage for a specific property value, you can do so
     * with the following `filter`:
     * `my_property = 'foo' AND my_other_property = 'bar'`.
     *
     * By default, the start of the time range must be no more than 100 days ago and
     * the length of the results must be no greater than 1000. Note that this is a POST
     * endpoint rather than a GET endpoint because it employs a JSON body rather than
     * query parameters.
     */
    evaluate(priceId: string, body: PriceEvaluateParams, options?: Core.RequestOptions): Core.APIPromise<PriceEvaluateResponse>;
    /**
     * This endpoint is used to evaluate the output of price(s) for a given customer
     * and time range over ingested events. It enables filtering and grouping the
     * output using
     * [computed properties](/extensibility/advanced-metrics#computed-properties),
     * supporting the following workflows:
     *
     * 1. Showing detailed usage and costs to the end customer.
     * 2. Auditing subtotals on invoice line items.
     *
     * For these workflows, the expressiveness of computed properties in both the
     * filters and grouping is critical. For example, if you'd like to show your
     * customer their usage grouped by hour and another property, you can do so with
     * the following `grouping_keys`:
     * `["hour_floor_timestamp_millis(timestamp_millis)", "my_property"]`. If you'd
     * like to examine a customer's usage for a specific property value, you can do so
     * with the following `filter`:
     * `my_property = 'foo' AND my_other_property = 'bar'`.
     *
     * Prices may either reference existing prices in your Orb account or be defined
     * inline in the request body. Up to 100 prices can be evaluated in a single
     * request.
     *
     * Prices are evaluated on ingested events and the start of the time range must be
     * no more than 100 days ago. To evaluate based off a set of provided events, the
     * [evaluate preview events](/api-reference/price/evaluate-preview-events) endpoint
     * can be used instead.
     *
     * Note that this is a POST endpoint rather than a GET endpoint because it employs
     * a JSON body rather than query parameters.
     */
    evaluateMultiple(body: PriceEvaluateMultipleParams, options?: Core.RequestOptions): Core.APIPromise<PriceEvaluateMultipleResponse>;
    /**
     * This endpoint evaluates prices on preview events instead of actual usage, making
     * it ideal for building price calculators and cost estimation tools. You can
     * filter and group results using
     * [computed properties](/extensibility/advanced-metrics#computed-properties) to
     * analyze pricing across different dimensions.
     *
     * Prices may either reference existing prices in your Orb account or be defined
     * inline in the request body. The endpoint has the following limitations:
     *
     * 1. Up to 100 prices can be evaluated in a single request.
     * 2. Up to 500 preview events can be provided in a single request.
     *
     * A top-level customer_id is required to evaluate the preview events.
     * Additionally, all events without a customer_id will have the top-level
     * customer_id added.
     *
     * Note that this is a POST endpoint rather than a GET endpoint because it employs
     * a JSON body rather than query parameters.
     */
    evaluatePreviewEvents(body: PriceEvaluatePreviewEventsParams, options?: Core.RequestOptions): Core.APIPromise<PriceEvaluatePreviewEventsResponse>;
    /**
     * This endpoint returns a price given an identifier.
     */
    fetch(priceId: string, options?: Core.RequestOptions): Core.APIPromise<Shared.Price>;
}
export interface EvaluatePriceGroup {
    /**
     * The price's output for the group
     */
    amount: string;
    /**
     * The values for the group in the order specified by `grouping_keys`
     */
    grouping_values: Array<string | number | boolean>;
    /**
     * The price's usage quantity for the group
     */
    quantity: number;
}
export interface PriceEvaluateResponse {
    data: Array<EvaluatePriceGroup>;
}
export interface PriceEvaluateMultipleResponse {
    data: Array<PriceEvaluateMultipleResponse.Data>;
}
export declare namespace PriceEvaluateMultipleResponse {
    interface Data {
        /**
         * The currency of the price
         */
        currency: string;
        /**
         * The computed price groups associated with input price.
         */
        price_groups: Array<PricesAPI.EvaluatePriceGroup>;
        /**
         * The external ID of the price
         */
        external_price_id?: string | null;
        /**
         * The index of the inline price
         */
        inline_price_index?: number | null;
        /**
         * The ID of the price
         */
        price_id?: string | null;
    }
}
export interface PriceEvaluatePreviewEventsResponse {
    data: Array<PriceEvaluatePreviewEventsResponse.Data>;
}
export declare namespace PriceEvaluatePreviewEventsResponse {
    interface Data {
        /**
         * The currency of the price
         */
        currency: string;
        /**
         * The computed price groups associated with input price.
         */
        price_groups: Array<PricesAPI.EvaluatePriceGroup>;
        /**
         * The external ID of the price
         */
        external_price_id?: string | null;
        /**
         * The index of the inline price
         */
        inline_price_index?: number | null;
        /**
         * The ID of the price
         */
        price_id?: string | null;
    }
}
export type PriceCreateParams = PriceCreateParams.NewFloatingUnitPrice | PriceCreateParams.NewFloatingTieredPrice | PriceCreateParams.NewFloatingBulkPrice | PriceCreateParams.NewFloatingBulkWithFiltersPrice | PriceCreateParams.NewFloatingPackagePrice | PriceCreateParams.NewFloatingMatrixPrice | PriceCreateParams.NewFloatingThresholdTotalAmountPrice | PriceCreateParams.NewFloatingTieredPackagePrice | PriceCreateParams.NewFloatingTieredWithMinimumPrice | PriceCreateParams.NewFloatingGroupedTieredPrice | PriceCreateParams.NewFloatingTieredPackageWithMinimumPrice | PriceCreateParams.NewFloatingPackageWithAllocationPrice | PriceCreateParams.NewFloatingUnitWithPercentPrice | PriceCreateParams.NewFloatingMatrixWithAllocationPrice | PriceCreateParams.NewFloatingTieredWithProrationPrice | PriceCreateParams.NewFloatingUnitWithProrationPrice | PriceCreateParams.NewFloatingGroupedAllocationPrice | PriceCreateParams.NewFloatingBulkWithProrationPrice | PriceCreateParams.NewFloatingGroupedWithProratedMinimumPrice | PriceCreateParams.NewFloatingGroupedWithMeteredMinimumPrice | PriceCreateParams.NewFloatingGroupedWithMinMaxThresholdsPrice | PriceCreateParams.NewFloatingMatrixWithDisplayNamePrice | PriceCreateParams.NewFloatingGroupedTieredPackagePrice | PriceCreateParams.NewFloatingMaxGroupTieredPackagePrice | PriceCreateParams.NewFloatingScalableMatrixWithUnitPricingPrice | PriceCreateParams.NewFloatingScalableMatrixWithTieredPricingPrice | PriceCreateParams.NewFloatingCumulativeGroupedBulkPrice | PriceCreateParams.NewFloatingCumulativeGroupedAllocationPrice | PriceCreateParams.NewFloatingMinimumCompositePrice | PriceCreateParams.NewFloatingPercentCompositePrice | PriceCreateParams.NewFloatingEventOutputPrice;
export declare namespace PriceCreateParams {
    interface NewFloatingUnitPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'unit';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for unit pricing
         */
        unit_config: Shared.UnitConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    interface NewFloatingTieredPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'tiered';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for tiered pricing
         */
        tiered_config: Shared.TieredConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    interface NewFloatingBulkPrice {
        /**
         * Configuration for bulk pricing
         */
        bulk_config: Shared.BulkConfig;
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'bulk';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    interface NewFloatingBulkWithFiltersPrice {
        /**
         * Configuration for bulk_with_filters pricing
         */
        bulk_with_filters_config: NewFloatingBulkWithFiltersPrice.BulkWithFiltersConfig;
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'bulk_with_filters';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingBulkWithFiltersPrice {
        /**
         * Configuration for bulk_with_filters pricing
         */
        interface BulkWithFiltersConfig {
            /**
             * Property filters to apply (all must match)
             */
            filters: Array<BulkWithFiltersConfig.Filter>;
            /**
             * Bulk tiers for rating based on total usage volume
             */
            tiers: Array<BulkWithFiltersConfig.Tier>;
        }
        namespace BulkWithFiltersConfig {
            /**
             * Configuration for a single property filter
             */
            interface Filter {
                /**
                 * Event property key to filter on
                 */
                property_key: string;
                /**
                 * Event property value to match
                 */
                property_value: string;
            }
            /**
             * Configuration for a single bulk pricing tier
             */
            interface Tier {
                /**
                 * Amount per unit
                 */
                unit_amount: string;
                /**
                 * The lower bound for this tier
                 */
                tier_lower_bound?: string | null;
            }
        }
    }
    interface NewFloatingPackagePrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'package';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for package pricing
         */
        package_config: Shared.PackageConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    interface NewFloatingMatrixPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * Configuration for matrix pricing
         */
        matrix_config: Shared.MatrixConfig;
        /**
         * The pricing model type
         */
        model_type: 'matrix';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    interface NewFloatingThresholdTotalAmountPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'threshold_total_amount';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for threshold_total_amount pricing
         */
        threshold_total_amount_config: NewFloatingThresholdTotalAmountPrice.ThresholdTotalAmountConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingThresholdTotalAmountPrice {
        /**
         * Configuration for threshold_total_amount pricing
         */
        interface ThresholdTotalAmountConfig {
            /**
             * When the quantity consumed passes a provided threshold, the configured total
             * will be charged
             */
            consumption_table: Array<ThresholdTotalAmountConfig.ConsumptionTable>;
            /**
             * If true, the unit price will be prorated to the billing period
             */
            prorate?: boolean | null;
        }
        namespace ThresholdTotalAmountConfig {
            /**
             * Configuration for a single threshold
             */
            interface ConsumptionTable {
                threshold: string;
                /**
                 * Total amount for this threshold
                 */
                total_amount: string;
            }
        }
    }
    interface NewFloatingTieredPackagePrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'tiered_package';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for tiered_package pricing
         */
        tiered_package_config: NewFloatingTieredPackagePrice.TieredPackageConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingTieredPackagePrice {
        /**
         * Configuration for tiered_package pricing
         */
        interface TieredPackageConfig {
            package_size: string;
            /**
             * Apply tiered pricing after rounding up the quantity to the package size. Tiers
             * are defined using exclusive lower bounds. The tier bounds are defined based on
             * the total quantity rather than the number of packages, so they must be multiples
             * of the package size.
             */
            tiers: Array<TieredPackageConfig.Tier>;
        }
        namespace TieredPackageConfig {
            /**
             * Configuration for a single tier with business logic
             */
            interface Tier {
                /**
                 * Price per package
                 */
                per_unit: string;
                tier_lower_bound: string;
            }
        }
    }
    interface NewFloatingTieredWithMinimumPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'tiered_with_minimum';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for tiered_with_minimum pricing
         */
        tiered_with_minimum_config: NewFloatingTieredWithMinimumPrice.TieredWithMinimumConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingTieredWithMinimumPrice {
        /**
         * Configuration for tiered_with_minimum pricing
         */
        interface TieredWithMinimumConfig {
            /**
             * Tiered pricing with a minimum amount dependent on the volume tier. Tiers are
             * defined using exclusive lower bounds.
             */
            tiers: Array<TieredWithMinimumConfig.Tier>;
            /**
             * If true, tiers with an accrued amount of 0 will not be included in the rating.
             */
            hide_zero_amount_tiers?: boolean;
            /**
             * If true, the unit price will be prorated to the billing period
             */
            prorate?: boolean;
        }
        namespace TieredWithMinimumConfig {
            /**
             * Configuration for a single tier
             */
            interface Tier {
                minimum_amount: string;
                tier_lower_bound: string;
                /**
                 * Per unit amount
                 */
                unit_amount: string;
            }
        }
    }
    interface NewFloatingGroupedTieredPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * Configuration for grouped_tiered pricing
         */
        grouped_tiered_config: NewFloatingGroupedTieredPrice.GroupedTieredConfig;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'grouped_tiered';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingGroupedTieredPrice {
        /**
         * Configuration for grouped_tiered pricing
         */
        interface GroupedTieredConfig {
            /**
             * The billable metric property used to group before tiering
             */
            grouping_key: string;
            /**
             * Apply tiered pricing to each segment generated after grouping with the provided
             * key
             */
            tiers: Array<GroupedTieredConfig.Tier>;
        }
        namespace GroupedTieredConfig {
            /**
             * Configuration for a single tier
             */
            interface Tier {
                tier_lower_bound: string;
                /**
                 * Per unit amount
                 */
                unit_amount: string;
            }
        }
    }
    interface NewFloatingTieredPackageWithMinimumPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'tiered_package_with_minimum';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for tiered_package_with_minimum pricing
         */
        tiered_package_with_minimum_config: NewFloatingTieredPackageWithMinimumPrice.TieredPackageWithMinimumConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingTieredPackageWithMinimumPrice {
        /**
         * Configuration for tiered_package_with_minimum pricing
         */
        interface TieredPackageWithMinimumConfig {
            package_size: number;
            /**
             * Apply tiered pricing after rounding up the quantity to the package size. Tiers
             * are defined using exclusive lower bounds.
             */
            tiers: Array<TieredPackageWithMinimumConfig.Tier>;
        }
        namespace TieredPackageWithMinimumConfig {
            /**
             * Configuration for a single tier
             */
            interface Tier {
                minimum_amount: string;
                per_unit: string;
                tier_lower_bound: string;
            }
        }
    }
    interface NewFloatingPackageWithAllocationPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'package_with_allocation';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for package_with_allocation pricing
         */
        package_with_allocation_config: NewFloatingPackageWithAllocationPrice.PackageWithAllocationConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingPackageWithAllocationPrice {
        /**
         * Configuration for package_with_allocation pricing
         */
        interface PackageWithAllocationConfig {
            allocation: string;
            package_amount: string;
            package_size: string;
        }
    }
    interface NewFloatingUnitWithPercentPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'unit_with_percent';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for unit_with_percent pricing
         */
        unit_with_percent_config: NewFloatingUnitWithPercentPrice.UnitWithPercentConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingUnitWithPercentPrice {
        /**
         * Configuration for unit_with_percent pricing
         */
        interface UnitWithPercentConfig {
            /**
             * What percent, out of 100, of the calculated total to charge
             */
            percent: string;
            /**
             * Rate per unit of usage
             */
            unit_amount: string;
        }
    }
    interface NewFloatingMatrixWithAllocationPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * Configuration for matrix_with_allocation pricing
         */
        matrix_with_allocation_config: Shared.MatrixWithAllocationConfig;
        /**
         * The pricing model type
         */
        model_type: 'matrix_with_allocation';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    interface NewFloatingTieredWithProrationPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'tiered_with_proration';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for tiered_with_proration pricing
         */
        tiered_with_proration_config: NewFloatingTieredWithProrationPrice.TieredWithProrationConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingTieredWithProrationPrice {
        /**
         * Configuration for tiered_with_proration pricing
         */
        interface TieredWithProrationConfig {
            /**
             * Tiers for rating based on total usage quantities into the specified tier with
             * proration
             */
            tiers: Array<TieredWithProrationConfig.Tier>;
        }
        namespace TieredWithProrationConfig {
            /**
             * Configuration for a single tiered with proration tier
             */
            interface Tier {
                /**
                 * Inclusive tier starting value
                 */
                tier_lower_bound: string;
                /**
                 * Amount per unit
                 */
                unit_amount: string;
            }
        }
    }
    interface NewFloatingUnitWithProrationPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'unit_with_proration';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for unit_with_proration pricing
         */
        unit_with_proration_config: NewFloatingUnitWithProrationPrice.UnitWithProrationConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingUnitWithProrationPrice {
        /**
         * Configuration for unit_with_proration pricing
         */
        interface UnitWithProrationConfig {
            /**
             * Rate per unit of usage
             */
            unit_amount: string;
        }
    }
    interface NewFloatingGroupedAllocationPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * Configuration for grouped_allocation pricing
         */
        grouped_allocation_config: NewFloatingGroupedAllocationPrice.GroupedAllocationConfig;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'grouped_allocation';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingGroupedAllocationPrice {
        /**
         * Configuration for grouped_allocation pricing
         */
        interface GroupedAllocationConfig {
            /**
             * Usage allocation per group
             */
            allocation: string;
            /**
             * How to determine the groups that should each be allocated some quantity
             */
            grouping_key: string;
            /**
             * Unit rate for post-allocation
             */
            overage_unit_rate: string;
        }
    }
    interface NewFloatingBulkWithProrationPrice {
        /**
         * Configuration for bulk_with_proration pricing
         */
        bulk_with_proration_config: NewFloatingBulkWithProrationPrice.BulkWithProrationConfig;
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'bulk_with_proration';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingBulkWithProrationPrice {
        /**
         * Configuration for bulk_with_proration pricing
         */
        interface BulkWithProrationConfig {
            /**
             * Bulk tiers for rating based on total usage volume
             */
            tiers: Array<BulkWithProrationConfig.Tier>;
        }
        namespace BulkWithProrationConfig {
            /**
             * Configuration for a single bulk pricing tier with proration
             */
            interface Tier {
                /**
                 * Cost per unit
                 */
                unit_amount: string;
                /**
                 * The lower bound for this tier
                 */
                tier_lower_bound?: string | null;
            }
        }
    }
    interface NewFloatingGroupedWithProratedMinimumPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * Configuration for grouped_with_prorated_minimum pricing
         */
        grouped_with_prorated_minimum_config: NewFloatingGroupedWithProratedMinimumPrice.GroupedWithProratedMinimumConfig;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'grouped_with_prorated_minimum';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingGroupedWithProratedMinimumPrice {
        /**
         * Configuration for grouped_with_prorated_minimum pricing
         */
        interface GroupedWithProratedMinimumConfig {
            /**
             * How to determine the groups that should each have a minimum
             */
            grouping_key: string;
            /**
             * The minimum amount to charge per group
             */
            minimum: string;
            /**
             * The amount to charge per unit
             */
            unit_rate: string;
        }
    }
    interface NewFloatingGroupedWithMeteredMinimumPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * Configuration for grouped_with_metered_minimum pricing
         */
        grouped_with_metered_minimum_config: NewFloatingGroupedWithMeteredMinimumPrice.GroupedWithMeteredMinimumConfig;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'grouped_with_metered_minimum';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingGroupedWithMeteredMinimumPrice {
        /**
         * Configuration for grouped_with_metered_minimum pricing
         */
        interface GroupedWithMeteredMinimumConfig {
            /**
             * Used to partition the usage into groups. The minimum amount is applied to each
             * group.
             */
            grouping_key: string;
            /**
             * The minimum amount to charge per group per unit
             */
            minimum_unit_amount: string;
            /**
             * Used to determine the unit rate
             */
            pricing_key: string;
            /**
             * Scale the unit rates by the scaling factor.
             */
            scaling_factors: Array<GroupedWithMeteredMinimumConfig.ScalingFactor>;
            /**
             * Used to determine the unit rate scaling factor
             */
            scaling_key: string;
            /**
             * Apply per unit pricing to each pricing value. The minimum amount is applied any
             * unmatched usage.
             */
            unit_amounts: Array<GroupedWithMeteredMinimumConfig.UnitAmount>;
        }
        namespace GroupedWithMeteredMinimumConfig {
            /**
             * Configuration for a scaling factor
             */
            interface ScalingFactor {
                scaling_factor: string;
                scaling_value: string;
            }
            /**
             * Configuration for a unit amount
             */
            interface UnitAmount {
                pricing_value: string;
                /**
                 * Per unit amount
                 */
                unit_amount: string;
            }
        }
    }
    interface NewFloatingGroupedWithMinMaxThresholdsPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * Configuration for grouped_with_min_max_thresholds pricing
         */
        grouped_with_min_max_thresholds_config: NewFloatingGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'grouped_with_min_max_thresholds';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingGroupedWithMinMaxThresholdsPrice {
        /**
         * Configuration for grouped_with_min_max_thresholds pricing
         */
        interface GroupedWithMinMaxThresholdsConfig {
            /**
             * The event property used to group before applying thresholds
             */
            grouping_key: string;
            /**
             * The maximum amount to charge each group
             */
            maximum_charge: string;
            /**
             * The minimum amount to charge each group, regardless of usage
             */
            minimum_charge: string;
            /**
             * The base price charged per group
             */
            per_unit_rate: string;
        }
    }
    interface NewFloatingMatrixWithDisplayNamePrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * Configuration for matrix_with_display_name pricing
         */
        matrix_with_display_name_config: NewFloatingMatrixWithDisplayNamePrice.MatrixWithDisplayNameConfig;
        /**
         * The pricing model type
         */
        model_type: 'matrix_with_display_name';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingMatrixWithDisplayNamePrice {
        /**
         * Configuration for matrix_with_display_name pricing
         */
        interface MatrixWithDisplayNameConfig {
            /**
             * Used to determine the unit rate
             */
            dimension: string;
            /**
             * Apply per unit pricing to each dimension value
             */
            unit_amounts: Array<MatrixWithDisplayNameConfig.UnitAmount>;
        }
        namespace MatrixWithDisplayNameConfig {
            /**
             * Configuration for a unit amount item
             */
            interface UnitAmount {
                /**
                 * The dimension value
                 */
                dimension_value: string;
                /**
                 * Display name for this dimension value
                 */
                display_name: string;
                /**
                 * Per unit amount
                 */
                unit_amount: string;
            }
        }
    }
    interface NewFloatingGroupedTieredPackagePrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * Configuration for grouped_tiered_package pricing
         */
        grouped_tiered_package_config: NewFloatingGroupedTieredPackagePrice.GroupedTieredPackageConfig;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'grouped_tiered_package';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingGroupedTieredPackagePrice {
        /**
         * Configuration for grouped_tiered_package pricing
         */
        interface GroupedTieredPackageConfig {
            /**
             * The event property used to group before tiering
             */
            grouping_key: string;
            package_size: string;
            /**
             * Apply tiered pricing after rounding up the quantity to the package size. Tiers
             * are defined using exclusive lower bounds.
             */
            tiers: Array<GroupedTieredPackageConfig.Tier>;
        }
        namespace GroupedTieredPackageConfig {
            /**
             * Configuration for a single tier
             */
            interface Tier {
                /**
                 * Per package
                 */
                per_unit: string;
                tier_lower_bound: string;
            }
        }
    }
    interface NewFloatingMaxGroupTieredPackagePrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * Configuration for max_group_tiered_package pricing
         */
        max_group_tiered_package_config: NewFloatingMaxGroupTieredPackagePrice.MaxGroupTieredPackageConfig;
        /**
         * The pricing model type
         */
        model_type: 'max_group_tiered_package';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingMaxGroupTieredPackagePrice {
        /**
         * Configuration for max_group_tiered_package pricing
         */
        interface MaxGroupTieredPackageConfig {
            /**
             * The event property used to group before tiering the group with the highest value
             */
            grouping_key: string;
            package_size: string;
            /**
             * Apply tiered pricing to the largest group after grouping with the provided key.
             */
            tiers: Array<MaxGroupTieredPackageConfig.Tier>;
        }
        namespace MaxGroupTieredPackageConfig {
            /**
             * Configuration for a single tier
             */
            interface Tier {
                tier_lower_bound: string;
                /**
                 * Per unit amount
                 */
                unit_amount: string;
            }
        }
    }
    interface NewFloatingScalableMatrixWithUnitPricingPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'scalable_matrix_with_unit_pricing';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for scalable_matrix_with_unit_pricing pricing
         */
        scalable_matrix_with_unit_pricing_config: NewFloatingScalableMatrixWithUnitPricingPrice.ScalableMatrixWithUnitPricingConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingScalableMatrixWithUnitPricingPrice {
        /**
         * Configuration for scalable_matrix_with_unit_pricing pricing
         */
        interface ScalableMatrixWithUnitPricingConfig {
            /**
             * Used to determine the unit rate
             */
            first_dimension: string;
            /**
             * Apply a scaling factor to each dimension
             */
            matrix_scaling_factors: Array<ScalableMatrixWithUnitPricingConfig.MatrixScalingFactor>;
            /**
             * The final unit price to rate against the output of the matrix
             */
            unit_price: string;
            /**
             * The property used to group this price
             */
            grouping_key?: string | null;
            /**
             * If true, the unit price will be prorated to the billing period
             */
            prorate?: boolean | null;
            /**
             * Used to determine the unit rate (optional)
             */
            second_dimension?: string | null;
        }
        namespace ScalableMatrixWithUnitPricingConfig {
            /**
             * Configuration for a single matrix scaling factor
             */
            interface MatrixScalingFactor {
                first_dimension_value: string;
                scaling_factor: string;
                second_dimension_value?: string | null;
            }
        }
    }
    interface NewFloatingScalableMatrixWithTieredPricingPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'scalable_matrix_with_tiered_pricing';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for scalable_matrix_with_tiered_pricing pricing
         */
        scalable_matrix_with_tiered_pricing_config: NewFloatingScalableMatrixWithTieredPricingPrice.ScalableMatrixWithTieredPricingConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingScalableMatrixWithTieredPricingPrice {
        /**
         * Configuration for scalable_matrix_with_tiered_pricing pricing
         */
        interface ScalableMatrixWithTieredPricingConfig {
            /**
             * Used for the scalable matrix first dimension
             */
            first_dimension: string;
            /**
             * Apply a scaling factor to each dimension
             */
            matrix_scaling_factors: Array<ScalableMatrixWithTieredPricingConfig.MatrixScalingFactor>;
            tiers: Array<ScalableMatrixWithTieredPricingConfig.Tier>;
            /**
             * Used for the scalable matrix second dimension (optional)
             */
            second_dimension?: string | null;
        }
        namespace ScalableMatrixWithTieredPricingConfig {
            /**
             * Configuration for a single matrix scaling factor
             */
            interface MatrixScalingFactor {
                first_dimension_value: string;
                scaling_factor: string;
                second_dimension_value?: string | null;
            }
            /**
             * Configuration for a single tier entry with business logic
             */
            interface Tier {
                tier_lower_bound: string;
                unit_amount: string;
            }
        }
    }
    interface NewFloatingCumulativeGroupedBulkPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * Configuration for cumulative_grouped_bulk pricing
         */
        cumulative_grouped_bulk_config: NewFloatingCumulativeGroupedBulkPrice.CumulativeGroupedBulkConfig;
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'cumulative_grouped_bulk';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingCumulativeGroupedBulkPrice {
        /**
         * Configuration for cumulative_grouped_bulk pricing
         */
        interface CumulativeGroupedBulkConfig {
            /**
             * Each tier lower bound must have the same group of values.
             */
            dimension_values: Array<CumulativeGroupedBulkConfig.DimensionValue>;
            group: string;
        }
        namespace CumulativeGroupedBulkConfig {
            /**
             * Configuration for a dimension value entry
             */
            interface DimensionValue {
                /**
                 * Grouping key value
                 */
                grouping_key: string;
                /**
                 * Tier lower bound
                 */
                tier_lower_bound: string;
                /**
                 * Unit amount for this combination
                 */
                unit_amount: string;
            }
        }
    }
    interface NewFloatingCumulativeGroupedAllocationPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * Configuration for cumulative_grouped_allocation pricing
         */
        cumulative_grouped_allocation_config: NewFloatingCumulativeGroupedAllocationPrice.CumulativeGroupedAllocationConfig;
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'cumulative_grouped_allocation';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingCumulativeGroupedAllocationPrice {
        /**
         * Configuration for cumulative_grouped_allocation pricing
         */
        interface CumulativeGroupedAllocationConfig {
            /**
             * The overall allocation across all groups
             */
            cumulative_allocation: string;
            /**
             * The allocation per individual group
             */
            group_allocation: string;
            /**
             * The event property used to group usage before applying allocations
             */
            grouping_key: string;
            /**
             * The amount to charge for each unit outside of the allocation
             */
            unit_amount: string;
        }
    }
    interface NewFloatingMinimumCompositePrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * Configuration for minimum_composite pricing
         */
        minimum_composite_config: NewFloatingMinimumCompositePrice.MinimumCompositeConfig;
        /**
         * The pricing model type
         */
        model_type: 'minimum_composite';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingMinimumCompositePrice {
        /**
         * Configuration for minimum_composite pricing
         */
        interface MinimumCompositeConfig {
            /**
             * The minimum amount to apply
             */
            minimum_amount: string;
            /**
             * If true, subtotals from this price are prorated based on the service period
             */
            prorated?: boolean;
        }
    }
    interface NewFloatingPercentCompositePrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'percent';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * Configuration for percent pricing
         */
        percent_config: NewFloatingPercentCompositePrice.PercentConfig;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingPercentCompositePrice {
        /**
         * Configuration for percent pricing
         */
        interface PercentConfig {
            /**
             * What percent of the component subtotals to charge
             */
            percent: number;
        }
    }
    interface NewFloatingEventOutputPrice {
        /**
         * The cadence to bill for this price on.
         */
        cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
        /**
         * An ISO 4217 currency string for which this price is billed in.
         */
        currency: string;
        /**
         * Configuration for event_output pricing
         */
        event_output_config: NewFloatingEventOutputPrice.EventOutputConfig;
        /**
         * The id of the item the price will be associated with.
         */
        item_id: string;
        /**
         * The pricing model type
         */
        model_type: 'event_output';
        /**
         * The name of the price.
         */
        name: string;
        /**
         * The id of the billable metric for the price. Only needed if the price is
         * usage-based.
         */
        billable_metric_id?: string | null;
        /**
         * If the Price represents a fixed cost, the price will be billed in-advance if
         * this is true, and in-arrears if this is false.
         */
        billed_in_advance?: boolean | null;
        /**
         * For custom cadence: specifies the duration of the billing period in days or
         * months.
         */
        billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The per unit conversion rate of the price currency to the invoicing currency.
         */
        conversion_rate?: number | null;
        /**
         * The configuration for the rate of the price currency to the invoicing currency.
         */
        conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
        /**
         * For dimensional price: specifies a price group and dimension values
         */
        dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
        /**
         * An alias for the price.
         */
        external_price_id?: string | null;
        /**
         * If the Price represents a fixed cost, this represents the quantity of units
         * applied.
         */
        fixed_price_quantity?: number | null;
        /**
         * The property used to group this price on an invoice
         */
        invoice_grouping_key?: string | null;
        /**
         * Within each billing cycle, specifies the cadence at which invoices are produced.
         * If unspecified, a single invoice is produced per billing cycle.
         */
        invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
        /**
         * The ID of the license type to associate with this price.
         */
        license_type_id?: string | null;
        /**
         * User-specified key/value pairs for the resource. Individual keys can be removed
         * by setting the value to `null`, and the entire metadata mapping can be cleared
         * by setting `metadata` to `null`.
         */
        metadata?: {
            [key: string]: string | null;
        } | null;
    }
    namespace NewFloatingEventOutputPrice {
        /**
         * Configuration for event_output pricing
         */
        interface EventOutputConfig {
            /**
             * The key in the event data to extract the unit rate from.
             */
            unit_rating_key: string;
            /**
             * If provided, this amount will be used as the unit rate when an event does not
             * have a value for the `unit_rating_key`. If not provided, events missing a unit
             * rate will be ignored.
             */
            default_unit_rate?: string | null;
            /**
             * An optional key in the event data to group by (e.g., event ID). All events will
             * also be grouped by their unit rate.
             */
            grouping_key?: string | null;
        }
    }
}
export interface PriceUpdateParams {
    /**
     * User-specified key/value pairs for the resource. Individual keys can be removed
     * by setting the value to `null`, and the entire metadata mapping can be cleared
     * by setting `metadata` to `null`.
     */
    metadata?: {
        [key: string]: string | null;
    } | null;
}
export interface PriceListParams extends PageParams {
}
export interface PriceEvaluateParams {
    /**
     * The exclusive upper bound for event timestamps
     */
    timeframe_end: string;
    /**
     * The inclusive lower bound for event timestamps
     */
    timeframe_start: string;
    /**
     * The ID of the customer to which this evaluation is scoped.
     */
    customer_id?: string | null;
    /**
     * The external customer ID of the customer to which this evaluation is scoped.
     */
    external_customer_id?: string | null;
    /**
     * A boolean
     * [computed property](/extensibility/advanced-metrics#computed-properties) used to
     * filter the underlying billable metric
     */
    filter?: string | null;
    /**
     * Properties (or
     * [computed properties](/extensibility/advanced-metrics#computed-properties)) used
     * to group the underlying billable metric
     */
    grouping_keys?: Array<string>;
    /**
     * Optional overrides for parameterized billable metric parameters. If the metric
     * has parameter definitions and no overrides are provided, defaults will be used.
     */
    metric_parameter_overrides?: {
        [key: string]: unknown;
    } | null;
}
export interface PriceEvaluateMultipleParams {
    /**
     * The exclusive upper bound for event timestamps
     */
    timeframe_end: string;
    /**
     * The inclusive lower bound for event timestamps
     */
    timeframe_start: string;
    /**
     * The ID of the customer to which this evaluation is scoped.
     */
    customer_id?: string | null;
    /**
     * The external customer ID of the customer to which this evaluation is scoped.
     */
    external_customer_id?: string | null;
    /**
     * List of prices to evaluate (max 100)
     */
    price_evaluations?: Array<PriceEvaluateMultipleParams.PriceEvaluation>;
}
export declare namespace PriceEvaluateMultipleParams {
    interface PriceEvaluation {
        /**
         * The external ID of a price to evaluate that exists in your Orb account.
         */
        external_price_id?: string | null;
        /**
         * A boolean
         * [computed property](/extensibility/advanced-metrics#computed-properties) used to
         * filter the underlying billable metric
         */
        filter?: string | null;
        /**
         * Properties (or
         * [computed properties](/extensibility/advanced-metrics#computed-properties)) used
         * to group the underlying billable metric
         */
        grouping_keys?: Array<string>;
        /**
         * Optional overrides for parameterized billable metric parameters. If the metric
         * has parameter definitions and no overrides are provided, defaults will be used.
         */
        metric_parameter_overrides?: {
            [key: string]: unknown;
        } | null;
        /**
         * New floating price request body params.
         */
        price?: Shared.NewFloatingUnitPrice | Shared.NewFloatingTieredPrice | Shared.NewFloatingBulkPrice | PriceEvaluation.NewFloatingBulkWithFiltersPrice | Shared.NewFloatingPackagePrice | Shared.NewFloatingMatrixPrice | Shared.NewFloatingThresholdTotalAmountPrice | Shared.NewFloatingTieredPackagePrice | Shared.NewFloatingTieredWithMinimumPrice | Shared.NewFloatingGroupedTieredPrice | Shared.NewFloatingTieredPackageWithMinimumPrice | Shared.NewFloatingPackageWithAllocationPrice | Shared.NewFloatingUnitWithPercentPrice | Shared.NewFloatingMatrixWithAllocationPrice | Shared.NewFloatingTieredWithProrationPrice | Shared.NewFloatingUnitWithProrationPrice | Shared.NewFloatingGroupedAllocationPrice | Shared.NewFloatingBulkWithProrationPrice | Shared.NewFloatingGroupedWithProratedMinimumPrice | Shared.NewFloatingGroupedWithMeteredMinimumPrice | PriceEvaluation.NewFloatingGroupedWithMinMaxThresholdsPrice | Shared.NewFloatingMatrixWithDisplayNamePrice | Shared.NewFloatingGroupedTieredPackagePrice | Shared.NewFloatingMaxGroupTieredPackagePrice | Shared.NewFloatingScalableMatrixWithUnitPricingPrice | Shared.NewFloatingScalableMatrixWithTieredPricingPrice | Shared.NewFloatingCumulativeGroupedBulkPrice | PriceEvaluation.NewFloatingCumulativeGroupedAllocationPrice | Shared.NewFloatingMinimumCompositePrice | PriceEvaluation.NewFloatingPercentCompositePrice | PriceEvaluation.NewFloatingEventOutputPrice | null;
        /**
         * The ID of a price to evaluate that exists in your Orb account.
         */
        price_id?: string | null;
    }
    namespace PriceEvaluation {
        interface NewFloatingBulkWithFiltersPrice {
            /**
             * Configuration for bulk_with_filters pricing
             */
            bulk_with_filters_config: NewFloatingBulkWithFiltersPrice.BulkWithFiltersConfig;
            /**
             * The cadence to bill for this price on.
             */
            cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
            /**
             * An ISO 4217 currency string for which this price is billed in.
             */
            currency: string;
            /**
             * The id of the item the price will be associated with.
             */
            item_id: string;
            /**
             * The pricing model type
             */
            model_type: 'bulk_with_filters';
            /**
             * The name of the price.
             */
            name: string;
            /**
             * The id of the billable metric for the price. Only needed if the price is
             * usage-based.
             */
            billable_metric_id?: string | null;
            /**
             * If the Price represents a fixed cost, the price will be billed in-advance if
             * this is true, and in-arrears if this is false.
             */
            billed_in_advance?: boolean | null;
            /**
             * For custom cadence: specifies the duration of the billing period in days or
             * months.
             */
            billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The per unit conversion rate of the price currency to the invoicing currency.
             */
            conversion_rate?: number | null;
            /**
             * The configuration for the rate of the price currency to the invoicing currency.
             */
            conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
            /**
             * For dimensional price: specifies a price group and dimension values
             */
            dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
            /**
             * An alias for the price.
             */
            external_price_id?: string | null;
            /**
             * If the Price represents a fixed cost, this represents the quantity of units
             * applied.
             */
            fixed_price_quantity?: number | null;
            /**
             * The property used to group this price on an invoice
             */
            invoice_grouping_key?: string | null;
            /**
             * Within each billing cycle, specifies the cadence at which invoices are produced.
             * If unspecified, a single invoice is produced per billing cycle.
             */
            invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The ID of the license type to associate with this price.
             */
            license_type_id?: string | null;
            /**
             * User-specified key/value pairs for the resource. Individual keys can be removed
             * by setting the value to `null`, and the entire metadata mapping can be cleared
             * by setting `metadata` to `null`.
             */
            metadata?: {
                [key: string]: string | null;
            } | null;
        }
        namespace NewFloatingBulkWithFiltersPrice {
            /**
             * Configuration for bulk_with_filters pricing
             */
            interface BulkWithFiltersConfig {
                /**
                 * Property filters to apply (all must match)
                 */
                filters: Array<BulkWithFiltersConfig.Filter>;
                /**
                 * Bulk tiers for rating based on total usage volume
                 */
                tiers: Array<BulkWithFiltersConfig.Tier>;
            }
            namespace BulkWithFiltersConfig {
                /**
                 * Configuration for a single property filter
                 */
                interface Filter {
                    /**
                     * Event property key to filter on
                     */
                    property_key: string;
                    /**
                     * Event property value to match
                     */
                    property_value: string;
                }
                /**
                 * Configuration for a single bulk pricing tier
                 */
                interface Tier {
                    /**
                     * Amount per unit
                     */
                    unit_amount: string;
                    /**
                     * The lower bound for this tier
                     */
                    tier_lower_bound?: string | null;
                }
            }
        }
        interface NewFloatingGroupedWithMinMaxThresholdsPrice {
            /**
             * The cadence to bill for this price on.
             */
            cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
            /**
             * An ISO 4217 currency string for which this price is billed in.
             */
            currency: string;
            /**
             * Configuration for grouped_with_min_max_thresholds pricing
             */
            grouped_with_min_max_thresholds_config: NewFloatingGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
            /**
             * The id of the item the price will be associated with.
             */
            item_id: string;
            /**
             * The pricing model type
             */
            model_type: 'grouped_with_min_max_thresholds';
            /**
             * The name of the price.
             */
            name: string;
            /**
             * The id of the billable metric for the price. Only needed if the price is
             * usage-based.
             */
            billable_metric_id?: string | null;
            /**
             * If the Price represents a fixed cost, the price will be billed in-advance if
             * this is true, and in-arrears if this is false.
             */
            billed_in_advance?: boolean | null;
            /**
             * For custom cadence: specifies the duration of the billing period in days or
             * months.
             */
            billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The per unit conversion rate of the price currency to the invoicing currency.
             */
            conversion_rate?: number | null;
            /**
             * The configuration for the rate of the price currency to the invoicing currency.
             */
            conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
            /**
             * For dimensional price: specifies a price group and dimension values
             */
            dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
            /**
             * An alias for the price.
             */
            external_price_id?: string | null;
            /**
             * If the Price represents a fixed cost, this represents the quantity of units
             * applied.
             */
            fixed_price_quantity?: number | null;
            /**
             * The property used to group this price on an invoice
             */
            invoice_grouping_key?: string | null;
            /**
             * Within each billing cycle, specifies the cadence at which invoices are produced.
             * If unspecified, a single invoice is produced per billing cycle.
             */
            invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The ID of the license type to associate with this price.
             */
            license_type_id?: string | null;
            /**
             * User-specified key/value pairs for the resource. Individual keys can be removed
             * by setting the value to `null`, and the entire metadata mapping can be cleared
             * by setting `metadata` to `null`.
             */
            metadata?: {
                [key: string]: string | null;
            } | null;
        }
        namespace NewFloatingGroupedWithMinMaxThresholdsPrice {
            /**
             * Configuration for grouped_with_min_max_thresholds pricing
             */
            interface GroupedWithMinMaxThresholdsConfig {
                /**
                 * The event property used to group before applying thresholds
                 */
                grouping_key: string;
                /**
                 * The maximum amount to charge each group
                 */
                maximum_charge: string;
                /**
                 * The minimum amount to charge each group, regardless of usage
                 */
                minimum_charge: string;
                /**
                 * The base price charged per group
                 */
                per_unit_rate: string;
            }
        }
        interface NewFloatingCumulativeGroupedAllocationPrice {
            /**
             * The cadence to bill for this price on.
             */
            cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
            /**
             * Configuration for cumulative_grouped_allocation pricing
             */
            cumulative_grouped_allocation_config: NewFloatingCumulativeGroupedAllocationPrice.CumulativeGroupedAllocationConfig;
            /**
             * An ISO 4217 currency string for which this price is billed in.
             */
            currency: string;
            /**
             * The id of the item the price will be associated with.
             */
            item_id: string;
            /**
             * The pricing model type
             */
            model_type: 'cumulative_grouped_allocation';
            /**
             * The name of the price.
             */
            name: string;
            /**
             * The id of the billable metric for the price. Only needed if the price is
             * usage-based.
             */
            billable_metric_id?: string | null;
            /**
             * If the Price represents a fixed cost, the price will be billed in-advance if
             * this is true, and in-arrears if this is false.
             */
            billed_in_advance?: boolean | null;
            /**
             * For custom cadence: specifies the duration of the billing period in days or
             * months.
             */
            billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The per unit conversion rate of the price currency to the invoicing currency.
             */
            conversion_rate?: number | null;
            /**
             * The configuration for the rate of the price currency to the invoicing currency.
             */
            conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
            /**
             * For dimensional price: specifies a price group and dimension values
             */
            dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
            /**
             * An alias for the price.
             */
            external_price_id?: string | null;
            /**
             * If the Price represents a fixed cost, this represents the quantity of units
             * applied.
             */
            fixed_price_quantity?: number | null;
            /**
             * The property used to group this price on an invoice
             */
            invoice_grouping_key?: string | null;
            /**
             * Within each billing cycle, specifies the cadence at which invoices are produced.
             * If unspecified, a single invoice is produced per billing cycle.
             */
            invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The ID of the license type to associate with this price.
             */
            license_type_id?: string | null;
            /**
             * User-specified key/value pairs for the resource. Individual keys can be removed
             * by setting the value to `null`, and the entire metadata mapping can be cleared
             * by setting `metadata` to `null`.
             */
            metadata?: {
                [key: string]: string | null;
            } | null;
        }
        namespace NewFloatingCumulativeGroupedAllocationPrice {
            /**
             * Configuration for cumulative_grouped_allocation pricing
             */
            interface CumulativeGroupedAllocationConfig {
                /**
                 * The overall allocation across all groups
                 */
                cumulative_allocation: string;
                /**
                 * The allocation per individual group
                 */
                group_allocation: string;
                /**
                 * The event property used to group usage before applying allocations
                 */
                grouping_key: string;
                /**
                 * The amount to charge for each unit outside of the allocation
                 */
                unit_amount: string;
            }
        }
        interface NewFloatingPercentCompositePrice {
            /**
             * The cadence to bill for this price on.
             */
            cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
            /**
             * An ISO 4217 currency string for which this price is billed in.
             */
            currency: string;
            /**
             * The id of the item the price will be associated with.
             */
            item_id: string;
            /**
             * The pricing model type
             */
            model_type: 'percent';
            /**
             * The name of the price.
             */
            name: string;
            /**
             * Configuration for percent pricing
             */
            percent_config: NewFloatingPercentCompositePrice.PercentConfig;
            /**
             * The id of the billable metric for the price. Only needed if the price is
             * usage-based.
             */
            billable_metric_id?: string | null;
            /**
             * If the Price represents a fixed cost, the price will be billed in-advance if
             * this is true, and in-arrears if this is false.
             */
            billed_in_advance?: boolean | null;
            /**
             * For custom cadence: specifies the duration of the billing period in days or
             * months.
             */
            billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The per unit conversion rate of the price currency to the invoicing currency.
             */
            conversion_rate?: number | null;
            /**
             * The configuration for the rate of the price currency to the invoicing currency.
             */
            conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
            /**
             * For dimensional price: specifies a price group and dimension values
             */
            dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
            /**
             * An alias for the price.
             */
            external_price_id?: string | null;
            /**
             * If the Price represents a fixed cost, this represents the quantity of units
             * applied.
             */
            fixed_price_quantity?: number | null;
            /**
             * The property used to group this price on an invoice
             */
            invoice_grouping_key?: string | null;
            /**
             * Within each billing cycle, specifies the cadence at which invoices are produced.
             * If unspecified, a single invoice is produced per billing cycle.
             */
            invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The ID of the license type to associate with this price.
             */
            license_type_id?: string | null;
            /**
             * User-specified key/value pairs for the resource. Individual keys can be removed
             * by setting the value to `null`, and the entire metadata mapping can be cleared
             * by setting `metadata` to `null`.
             */
            metadata?: {
                [key: string]: string | null;
            } | null;
        }
        namespace NewFloatingPercentCompositePrice {
            /**
             * Configuration for percent pricing
             */
            interface PercentConfig {
                /**
                 * What percent of the component subtotals to charge
                 */
                percent: number;
            }
        }
        interface NewFloatingEventOutputPrice {
            /**
             * The cadence to bill for this price on.
             */
            cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
            /**
             * An ISO 4217 currency string for which this price is billed in.
             */
            currency: string;
            /**
             * Configuration for event_output pricing
             */
            event_output_config: NewFloatingEventOutputPrice.EventOutputConfig;
            /**
             * The id of the item the price will be associated with.
             */
            item_id: string;
            /**
             * The pricing model type
             */
            model_type: 'event_output';
            /**
             * The name of the price.
             */
            name: string;
            /**
             * The id of the billable metric for the price. Only needed if the price is
             * usage-based.
             */
            billable_metric_id?: string | null;
            /**
             * If the Price represents a fixed cost, the price will be billed in-advance if
             * this is true, and in-arrears if this is false.
             */
            billed_in_advance?: boolean | null;
            /**
             * For custom cadence: specifies the duration of the billing period in days or
             * months.
             */
            billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The per unit conversion rate of the price currency to the invoicing currency.
             */
            conversion_rate?: number | null;
            /**
             * The configuration for the rate of the price currency to the invoicing currency.
             */
            conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
            /**
             * For dimensional price: specifies a price group and dimension values
             */
            dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
            /**
             * An alias for the price.
             */
            external_price_id?: string | null;
            /**
             * If the Price represents a fixed cost, this represents the quantity of units
             * applied.
             */
            fixed_price_quantity?: number | null;
            /**
             * The property used to group this price on an invoice
             */
            invoice_grouping_key?: string | null;
            /**
             * Within each billing cycle, specifies the cadence at which invoices are produced.
             * If unspecified, a single invoice is produced per billing cycle.
             */
            invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The ID of the license type to associate with this price.
             */
            license_type_id?: string | null;
            /**
             * User-specified key/value pairs for the resource. Individual keys can be removed
             * by setting the value to `null`, and the entire metadata mapping can be cleared
             * by setting `metadata` to `null`.
             */
            metadata?: {
                [key: string]: string | null;
            } | null;
        }
        namespace NewFloatingEventOutputPrice {
            /**
             * Configuration for event_output pricing
             */
            interface EventOutputConfig {
                /**
                 * The key in the event data to extract the unit rate from.
                 */
                unit_rating_key: string;
                /**
                 * If provided, this amount will be used as the unit rate when an event does not
                 * have a value for the `unit_rating_key`. If not provided, events missing a unit
                 * rate will be ignored.
                 */
                default_unit_rate?: string | null;
                /**
                 * An optional key in the event data to group by (e.g., event ID). All events will
                 * also be grouped by their unit rate.
                 */
                grouping_key?: string | null;
            }
        }
    }
}
export interface PriceEvaluatePreviewEventsParams {
    /**
     * The exclusive upper bound for event timestamps
     */
    timeframe_end: string;
    /**
     * The inclusive lower bound for event timestamps
     */
    timeframe_start: string;
    /**
     * The ID of the customer to which this evaluation is scoped.
     */
    customer_id?: string | null;
    /**
     * List of preview events to use instead of actual usage data
     */
    events?: Array<PriceEvaluatePreviewEventsParams.Event>;
    /**
     * The external customer ID of the customer to which this evaluation is scoped.
     */
    external_customer_id?: string | null;
    /**
     * List of prices to evaluate (max 100)
     */
    price_evaluations?: Array<PriceEvaluatePreviewEventsParams.PriceEvaluation>;
}
export declare namespace PriceEvaluatePreviewEventsParams {
    interface Event {
        /**
         * A name to meaningfully identify the action or event type.
         */
        event_name: string;
        /**
         * A dictionary of custom properties. Values in this dictionary must be numeric,
         * boolean, or strings. Nested dictionaries are disallowed.
         */
        properties: {
            [key: string]: unknown;
        };
        /**
         * An ISO 8601 format date with no timezone offset (i.e. UTC). This should
         * represent the time that usage was recorded, and is particularly important to
         * attribute usage to a given billing period.
         */
        timestamp: string;
        /**
         * The Orb Customer identifier
         */
        customer_id?: string | null;
        /**
         * An alias for the Orb customer, whose mapping is specified when creating the
         * customer
         */
        external_customer_id?: string | null;
    }
    interface PriceEvaluation {
        /**
         * The external ID of a price to evaluate that exists in your Orb account.
         */
        external_price_id?: string | null;
        /**
         * A boolean
         * [computed property](/extensibility/advanced-metrics#computed-properties) used to
         * filter the underlying billable metric
         */
        filter?: string | null;
        /**
         * Properties (or
         * [computed properties](/extensibility/advanced-metrics#computed-properties)) used
         * to group the underlying billable metric
         */
        grouping_keys?: Array<string>;
        /**
         * Optional overrides for parameterized billable metric parameters. If the metric
         * has parameter definitions and no overrides are provided, defaults will be used.
         */
        metric_parameter_overrides?: {
            [key: string]: unknown;
        } | null;
        /**
         * New floating price request body params.
         */
        price?: Shared.NewFloatingUnitPrice | Shared.NewFloatingTieredPrice | Shared.NewFloatingBulkPrice | PriceEvaluation.NewFloatingBulkWithFiltersPrice | Shared.NewFloatingPackagePrice | Shared.NewFloatingMatrixPrice | Shared.NewFloatingThresholdTotalAmountPrice | Shared.NewFloatingTieredPackagePrice | Shared.NewFloatingTieredWithMinimumPrice | Shared.NewFloatingGroupedTieredPrice | Shared.NewFloatingTieredPackageWithMinimumPrice | Shared.NewFloatingPackageWithAllocationPrice | Shared.NewFloatingUnitWithPercentPrice | Shared.NewFloatingMatrixWithAllocationPrice | Shared.NewFloatingTieredWithProrationPrice | Shared.NewFloatingUnitWithProrationPrice | Shared.NewFloatingGroupedAllocationPrice | Shared.NewFloatingBulkWithProrationPrice | Shared.NewFloatingGroupedWithProratedMinimumPrice | Shared.NewFloatingGroupedWithMeteredMinimumPrice | PriceEvaluation.NewFloatingGroupedWithMinMaxThresholdsPrice | Shared.NewFloatingMatrixWithDisplayNamePrice | Shared.NewFloatingGroupedTieredPackagePrice | Shared.NewFloatingMaxGroupTieredPackagePrice | Shared.NewFloatingScalableMatrixWithUnitPricingPrice | Shared.NewFloatingScalableMatrixWithTieredPricingPrice | Shared.NewFloatingCumulativeGroupedBulkPrice | PriceEvaluation.NewFloatingCumulativeGroupedAllocationPrice | Shared.NewFloatingMinimumCompositePrice | PriceEvaluation.NewFloatingPercentCompositePrice | PriceEvaluation.NewFloatingEventOutputPrice | null;
        /**
         * The ID of a price to evaluate that exists in your Orb account.
         */
        price_id?: string | null;
    }
    namespace PriceEvaluation {
        interface NewFloatingBulkWithFiltersPrice {
            /**
             * Configuration for bulk_with_filters pricing
             */
            bulk_with_filters_config: NewFloatingBulkWithFiltersPrice.BulkWithFiltersConfig;
            /**
             * The cadence to bill for this price on.
             */
            cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
            /**
             * An ISO 4217 currency string for which this price is billed in.
             */
            currency: string;
            /**
             * The id of the item the price will be associated with.
             */
            item_id: string;
            /**
             * The pricing model type
             */
            model_type: 'bulk_with_filters';
            /**
             * The name of the price.
             */
            name: string;
            /**
             * The id of the billable metric for the price. Only needed if the price is
             * usage-based.
             */
            billable_metric_id?: string | null;
            /**
             * If the Price represents a fixed cost, the price will be billed in-advance if
             * this is true, and in-arrears if this is false.
             */
            billed_in_advance?: boolean | null;
            /**
             * For custom cadence: specifies the duration of the billing period in days or
             * months.
             */
            billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The per unit conversion rate of the price currency to the invoicing currency.
             */
            conversion_rate?: number | null;
            /**
             * The configuration for the rate of the price currency to the invoicing currency.
             */
            conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
            /**
             * For dimensional price: specifies a price group and dimension values
             */
            dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
            /**
             * An alias for the price.
             */
            external_price_id?: string | null;
            /**
             * If the Price represents a fixed cost, this represents the quantity of units
             * applied.
             */
            fixed_price_quantity?: number | null;
            /**
             * The property used to group this price on an invoice
             */
            invoice_grouping_key?: string | null;
            /**
             * Within each billing cycle, specifies the cadence at which invoices are produced.
             * If unspecified, a single invoice is produced per billing cycle.
             */
            invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The ID of the license type to associate with this price.
             */
            license_type_id?: string | null;
            /**
             * User-specified key/value pairs for the resource. Individual keys can be removed
             * by setting the value to `null`, and the entire metadata mapping can be cleared
             * by setting `metadata` to `null`.
             */
            metadata?: {
                [key: string]: string | null;
            } | null;
        }
        namespace NewFloatingBulkWithFiltersPrice {
            /**
             * Configuration for bulk_with_filters pricing
             */
            interface BulkWithFiltersConfig {
                /**
                 * Property filters to apply (all must match)
                 */
                filters: Array<BulkWithFiltersConfig.Filter>;
                /**
                 * Bulk tiers for rating based on total usage volume
                 */
                tiers: Array<BulkWithFiltersConfig.Tier>;
            }
            namespace BulkWithFiltersConfig {
                /**
                 * Configuration for a single property filter
                 */
                interface Filter {
                    /**
                     * Event property key to filter on
                     */
                    property_key: string;
                    /**
                     * Event property value to match
                     */
                    property_value: string;
                }
                /**
                 * Configuration for a single bulk pricing tier
                 */
                interface Tier {
                    /**
                     * Amount per unit
                     */
                    unit_amount: string;
                    /**
                     * The lower bound for this tier
                     */
                    tier_lower_bound?: string | null;
                }
            }
        }
        interface NewFloatingGroupedWithMinMaxThresholdsPrice {
            /**
             * The cadence to bill for this price on.
             */
            cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
            /**
             * An ISO 4217 currency string for which this price is billed in.
             */
            currency: string;
            /**
             * Configuration for grouped_with_min_max_thresholds pricing
             */
            grouped_with_min_max_thresholds_config: NewFloatingGroupedWithMinMaxThresholdsPrice.GroupedWithMinMaxThresholdsConfig;
            /**
             * The id of the item the price will be associated with.
             */
            item_id: string;
            /**
             * The pricing model type
             */
            model_type: 'grouped_with_min_max_thresholds';
            /**
             * The name of the price.
             */
            name: string;
            /**
             * The id of the billable metric for the price. Only needed if the price is
             * usage-based.
             */
            billable_metric_id?: string | null;
            /**
             * If the Price represents a fixed cost, the price will be billed in-advance if
             * this is true, and in-arrears if this is false.
             */
            billed_in_advance?: boolean | null;
            /**
             * For custom cadence: specifies the duration of the billing period in days or
             * months.
             */
            billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The per unit conversion rate of the price currency to the invoicing currency.
             */
            conversion_rate?: number | null;
            /**
             * The configuration for the rate of the price currency to the invoicing currency.
             */
            conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
            /**
             * For dimensional price: specifies a price group and dimension values
             */
            dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
            /**
             * An alias for the price.
             */
            external_price_id?: string | null;
            /**
             * If the Price represents a fixed cost, this represents the quantity of units
             * applied.
             */
            fixed_price_quantity?: number | null;
            /**
             * The property used to group this price on an invoice
             */
            invoice_grouping_key?: string | null;
            /**
             * Within each billing cycle, specifies the cadence at which invoices are produced.
             * If unspecified, a single invoice is produced per billing cycle.
             */
            invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The ID of the license type to associate with this price.
             */
            license_type_id?: string | null;
            /**
             * User-specified key/value pairs for the resource. Individual keys can be removed
             * by setting the value to `null`, and the entire metadata mapping can be cleared
             * by setting `metadata` to `null`.
             */
            metadata?: {
                [key: string]: string | null;
            } | null;
        }
        namespace NewFloatingGroupedWithMinMaxThresholdsPrice {
            /**
             * Configuration for grouped_with_min_max_thresholds pricing
             */
            interface GroupedWithMinMaxThresholdsConfig {
                /**
                 * The event property used to group before applying thresholds
                 */
                grouping_key: string;
                /**
                 * The maximum amount to charge each group
                 */
                maximum_charge: string;
                /**
                 * The minimum amount to charge each group, regardless of usage
                 */
                minimum_charge: string;
                /**
                 * The base price charged per group
                 */
                per_unit_rate: string;
            }
        }
        interface NewFloatingCumulativeGroupedAllocationPrice {
            /**
             * The cadence to bill for this price on.
             */
            cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
            /**
             * Configuration for cumulative_grouped_allocation pricing
             */
            cumulative_grouped_allocation_config: NewFloatingCumulativeGroupedAllocationPrice.CumulativeGroupedAllocationConfig;
            /**
             * An ISO 4217 currency string for which this price is billed in.
             */
            currency: string;
            /**
             * The id of the item the price will be associated with.
             */
            item_id: string;
            /**
             * The pricing model type
             */
            model_type: 'cumulative_grouped_allocation';
            /**
             * The name of the price.
             */
            name: string;
            /**
             * The id of the billable metric for the price. Only needed if the price is
             * usage-based.
             */
            billable_metric_id?: string | null;
            /**
             * If the Price represents a fixed cost, the price will be billed in-advance if
             * this is true, and in-arrears if this is false.
             */
            billed_in_advance?: boolean | null;
            /**
             * For custom cadence: specifies the duration of the billing period in days or
             * months.
             */
            billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The per unit conversion rate of the price currency to the invoicing currency.
             */
            conversion_rate?: number | null;
            /**
             * The configuration for the rate of the price currency to the invoicing currency.
             */
            conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
            /**
             * For dimensional price: specifies a price group and dimension values
             */
            dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
            /**
             * An alias for the price.
             */
            external_price_id?: string | null;
            /**
             * If the Price represents a fixed cost, this represents the quantity of units
             * applied.
             */
            fixed_price_quantity?: number | null;
            /**
             * The property used to group this price on an invoice
             */
            invoice_grouping_key?: string | null;
            /**
             * Within each billing cycle, specifies the cadence at which invoices are produced.
             * If unspecified, a single invoice is produced per billing cycle.
             */
            invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The ID of the license type to associate with this price.
             */
            license_type_id?: string | null;
            /**
             * User-specified key/value pairs for the resource. Individual keys can be removed
             * by setting the value to `null`, and the entire metadata mapping can be cleared
             * by setting `metadata` to `null`.
             */
            metadata?: {
                [key: string]: string | null;
            } | null;
        }
        namespace NewFloatingCumulativeGroupedAllocationPrice {
            /**
             * Configuration for cumulative_grouped_allocation pricing
             */
            interface CumulativeGroupedAllocationConfig {
                /**
                 * The overall allocation across all groups
                 */
                cumulative_allocation: string;
                /**
                 * The allocation per individual group
                 */
                group_allocation: string;
                /**
                 * The event property used to group usage before applying allocations
                 */
                grouping_key: string;
                /**
                 * The amount to charge for each unit outside of the allocation
                 */
                unit_amount: string;
            }
        }
        interface NewFloatingPercentCompositePrice {
            /**
             * The cadence to bill for this price on.
             */
            cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
            /**
             * An ISO 4217 currency string for which this price is billed in.
             */
            currency: string;
            /**
             * The id of the item the price will be associated with.
             */
            item_id: string;
            /**
             * The pricing model type
             */
            model_type: 'percent';
            /**
             * The name of the price.
             */
            name: string;
            /**
             * Configuration for percent pricing
             */
            percent_config: NewFloatingPercentCompositePrice.PercentConfig;
            /**
             * The id of the billable metric for the price. Only needed if the price is
             * usage-based.
             */
            billable_metric_id?: string | null;
            /**
             * If the Price represents a fixed cost, the price will be billed in-advance if
             * this is true, and in-arrears if this is false.
             */
            billed_in_advance?: boolean | null;
            /**
             * For custom cadence: specifies the duration of the billing period in days or
             * months.
             */
            billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The per unit conversion rate of the price currency to the invoicing currency.
             */
            conversion_rate?: number | null;
            /**
             * The configuration for the rate of the price currency to the invoicing currency.
             */
            conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
            /**
             * For dimensional price: specifies a price group and dimension values
             */
            dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
            /**
             * An alias for the price.
             */
            external_price_id?: string | null;
            /**
             * If the Price represents a fixed cost, this represents the quantity of units
             * applied.
             */
            fixed_price_quantity?: number | null;
            /**
             * The property used to group this price on an invoice
             */
            invoice_grouping_key?: string | null;
            /**
             * Within each billing cycle, specifies the cadence at which invoices are produced.
             * If unspecified, a single invoice is produced per billing cycle.
             */
            invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The ID of the license type to associate with this price.
             */
            license_type_id?: string | null;
            /**
             * User-specified key/value pairs for the resource. Individual keys can be removed
             * by setting the value to `null`, and the entire metadata mapping can be cleared
             * by setting `metadata` to `null`.
             */
            metadata?: {
                [key: string]: string | null;
            } | null;
        }
        namespace NewFloatingPercentCompositePrice {
            /**
             * Configuration for percent pricing
             */
            interface PercentConfig {
                /**
                 * What percent of the component subtotals to charge
                 */
                percent: number;
            }
        }
        interface NewFloatingEventOutputPrice {
            /**
             * The cadence to bill for this price on.
             */
            cadence: 'annual' | 'semi_annual' | 'monthly' | 'quarterly' | 'one_time' | 'custom';
            /**
             * An ISO 4217 currency string for which this price is billed in.
             */
            currency: string;
            /**
             * Configuration for event_output pricing
             */
            event_output_config: NewFloatingEventOutputPrice.EventOutputConfig;
            /**
             * The id of the item the price will be associated with.
             */
            item_id: string;
            /**
             * The pricing model type
             */
            model_type: 'event_output';
            /**
             * The name of the price.
             */
            name: string;
            /**
             * The id of the billable metric for the price. Only needed if the price is
             * usage-based.
             */
            billable_metric_id?: string | null;
            /**
             * If the Price represents a fixed cost, the price will be billed in-advance if
             * this is true, and in-arrears if this is false.
             */
            billed_in_advance?: boolean | null;
            /**
             * For custom cadence: specifies the duration of the billing period in days or
             * months.
             */
            billing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The per unit conversion rate of the price currency to the invoicing currency.
             */
            conversion_rate?: number | null;
            /**
             * The configuration for the rate of the price currency to the invoicing currency.
             */
            conversion_rate_config?: Shared.UnitConversionRateConfig | Shared.TieredConversionRateConfig | null;
            /**
             * For dimensional price: specifies a price group and dimension values
             */
            dimensional_price_configuration?: Shared.NewDimensionalPriceConfiguration | null;
            /**
             * An alias for the price.
             */
            external_price_id?: string | null;
            /**
             * If the Price represents a fixed cost, this represents the quantity of units
             * applied.
             */
            fixed_price_quantity?: number | null;
            /**
             * The property used to group this price on an invoice
             */
            invoice_grouping_key?: string | null;
            /**
             * Within each billing cycle, specifies the cadence at which invoices are produced.
             * If unspecified, a single invoice is produced per billing cycle.
             */
            invoicing_cycle_configuration?: Shared.NewBillingCycleConfiguration | null;
            /**
             * The ID of the license type to associate with this price.
             */
            license_type_id?: string | null;
            /**
             * User-specified key/value pairs for the resource. Individual keys can be removed
             * by setting the value to `null`, and the entire metadata mapping can be cleared
             * by setting `metadata` to `null`.
             */
            metadata?: {
                [key: string]: string | null;
            } | null;
        }
        namespace NewFloatingEventOutputPrice {
            /**
             * Configuration for event_output pricing
             */
            interface EventOutputConfig {
                /**
                 * The key in the event data to extract the unit rate from.
                 */
                unit_rating_key: string;
                /**
                 * If provided, this amount will be used as the unit rate when an event does not
                 * have a value for the `unit_rating_key`. If not provided, events missing a unit
                 * rate will be ignored.
                 */
                default_unit_rate?: string | null;
                /**
                 * An optional key in the event data to group by (e.g., event ID). All events will
                 * also be grouped by their unit rate.
                 */
                grouping_key?: string | null;
            }
        }
    }
}
export declare namespace Prices {
    export { type EvaluatePriceGroup as EvaluatePriceGroup, type PriceEvaluateResponse as PriceEvaluateResponse, type PriceEvaluateMultipleResponse as PriceEvaluateMultipleResponse, type PriceEvaluatePreviewEventsResponse as PriceEvaluatePreviewEventsResponse, type PriceCreateParams as PriceCreateParams, type PriceUpdateParams as PriceUpdateParams, type PriceListParams as PriceListParams, type PriceEvaluateParams as PriceEvaluateParams, type PriceEvaluateMultipleParams as PriceEvaluateMultipleParams, type PriceEvaluatePreviewEventsParams as PriceEvaluatePreviewEventsParams, };
    export { ExternalPriceID as ExternalPriceID, type ExternalPriceIDUpdateParams as ExternalPriceIDUpdateParams, };
}
export { PricesPage };
//# sourceMappingURL=prices.d.ts.map