import { APIResource } from "../../core/resource.js";
import * as Shared from "../shared.js";
import { APIPromise } from "../../core/api-promise.js";
import { RequestOptions } from "../../internal/request-options.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 ExternalPriceID extends APIResource {
    /**
     * 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.
     *
     * @example
     * ```ts
     * const price = await client.prices.externalPriceID.update(
     *   'external_price_id',
     * );
     * ```
     */
    update(externalPriceID: string, body: ExternalPriceIDUpdateParams, options?: RequestOptions): APIPromise<Shared.Price>;
    /**
     * This endpoint returns a price given an external price id. See the
     * [price creation API](/api-reference/price/create-price) for more information
     * about external price aliases.
     *
     * @example
     * ```ts
     * const price = await client.prices.externalPriceID.fetch(
     *   'external_price_id',
     * );
     * ```
     */
    fetch(externalPriceID: string, options?: RequestOptions): APIPromise<Shared.Price>;
}
export interface ExternalPriceIDUpdateParams {
    /**
     * 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 declare namespace ExternalPriceID {
    export { type ExternalPriceIDUpdateParams as ExternalPriceIDUpdateParams };
}
//# sourceMappingURL=external-price-id.d.ts.map