import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { ProductPriceSource } from "./productpricesource.js";
import { RecurringInterval } from "./recurringinterval.js";
import { TaxBehaviorOption } from "./taxbehavioroption.js";
/**
 * A pay-what-you-want recurring price for a product, i.e. a subscription.
 *
 * @remarks
 *
 * **Deprecated**: The recurring interval should be set on the product itself.
 */
export type LegacyRecurringProductPriceCustom = {
    /**
     * Creation timestamp of the object.
     */
    createdAt: Date;
    /**
     * Last modification timestamp of the object.
     */
    modifiedAt: Date | null;
    /**
     * The ID of the price.
     */
    id: string;
    source: ProductPriceSource;
    amountType: "custom";
    /**
     * The currency in which the customer will be charged.
     */
    priceCurrency: string;
    /**
     * The tax behavior of the price. If null, it defaults to the organization's default tax behavior.
     */
    taxBehavior: TaxBehaviorOption | null;
    /**
     * Whether the price is archived and no longer available.
     */
    isArchived: boolean;
    /**
     * The ID of the product owning the price.
     */
    productId: string;
    /**
     * The type of the price.
     */
    type: "recurring";
    recurringInterval: RecurringInterval;
    /**
     * The minimum amount the customer can pay. If 0, the price is 'free or pay what you want'.
     */
    minimumAmount: number;
    /**
     * The maximum amount the customer can pay.
     */
    maximumAmount: number | null;
    /**
     * The initial amount shown to the customer.
     */
    presetAmount: number | null;
    legacy: true;
};
/** @internal */
export declare const LegacyRecurringProductPriceCustom$inboundSchema: z.ZodMiniType<LegacyRecurringProductPriceCustom, unknown>;
/** @internal */
export type LegacyRecurringProductPriceCustom$Outbound = {
    created_at: string;
    modified_at: string | null;
    id: string;
    source: string;
    amount_type: "custom";
    price_currency: string;
    tax_behavior: string | null;
    is_archived: boolean;
    product_id: string;
    type: "recurring";
    recurring_interval: string;
    minimum_amount: number;
    maximum_amount: number | null;
    preset_amount: number | null;
    legacy: true;
};
/** @internal */
export declare const LegacyRecurringProductPriceCustom$outboundSchema: z.ZodMiniType<LegacyRecurringProductPriceCustom$Outbound, LegacyRecurringProductPriceCustom>;
export declare function legacyRecurringProductPriceCustomToJSON(legacyRecurringProductPriceCustom: LegacyRecurringProductPriceCustom): string;
export declare function legacyRecurringProductPriceCustomFromJSON(jsonString: string): SafeParseResult<LegacyRecurringProductPriceCustom, SDKValidationError>;
//# sourceMappingURL=legacyrecurringproductpricecustom.d.ts.map