import * as z from "zod/v4-mini";
import { PresentmentCurrency } from "./presentmentcurrency.js";
import { TaxBehaviorOption } from "./taxbehavioroption.js";
/**
 * The price per unit in cents. Supports up to 12 decimal places.
 */
export type UnitAmount = number | string;
/**
 * Schema to create a metered price with a fixed unit price.
 */
export type ProductPriceMeteredUnitCreate = {
    amountType: "metered_unit";
    priceCurrency?: PresentmentCurrency | undefined;
    /**
     * The tax behavior of the price. If not set, it will default to the organization's default tax behavior.
     */
    taxBehavior?: TaxBehaviorOption | null | undefined;
    /**
     * The ID of the meter associated to the price.
     */
    meterId: string;
    /**
     * The price per unit in cents. Supports up to 12 decimal places.
     */
    unitAmount: number | string;
    /**
     * Optional maximum amount in cents that can be charged, regardless of the number of units consumed.
     */
    capAmount?: number | null | undefined;
};
/** @internal */
export type UnitAmount$Outbound = number | string;
/** @internal */
export declare const UnitAmount$outboundSchema: z.ZodMiniType<UnitAmount$Outbound, UnitAmount>;
export declare function unitAmountToJSON(unitAmount: UnitAmount): string;
/** @internal */
export type ProductPriceMeteredUnitCreate$Outbound = {
    amount_type: "metered_unit";
    price_currency?: string | undefined;
    tax_behavior?: string | null | undefined;
    meter_id: string;
    unit_amount: number | string;
    cap_amount?: number | null | undefined;
};
/** @internal */
export declare const ProductPriceMeteredUnitCreate$outboundSchema: z.ZodMiniType<ProductPriceMeteredUnitCreate$Outbound, ProductPriceMeteredUnitCreate>;
export declare function productPriceMeteredUnitCreateToJSON(productPriceMeteredUnitCreate: ProductPriceMeteredUnitCreate): string;
//# sourceMappingURL=productpricemeteredunitcreate.d.ts.map