import * as z from "zod/v4-mini"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { BenefitPublic, BenefitPublic$Outbound } from "./benefitpublic.js"; import { LegacyRecurringProductPrice, LegacyRecurringProductPrice$Outbound } from "./legacyrecurringproductprice.js"; import { ProductMediaFileRead, ProductMediaFileRead$Outbound } from "./productmediafileread.js"; import { ProductPrice, ProductPrice$Outbound } from "./productprice.js"; import { ProductVisibility } from "./productvisibility.js"; import { SubscriptionRecurringInterval } from "./subscriptionrecurringinterval.js"; import { TrialInterval } from "./trialinterval.js"; export type CheckoutProductPrices = LegacyRecurringProductPrice | ProductPrice; /** * Product data for a checkout session. */ export type CheckoutProduct = { /** * The ID of the object. */ id: string; /** * Creation timestamp of the object. */ createdAt: Date; /** * Last modification timestamp of the object. */ modifiedAt: Date | null; /** * The interval unit for the trial period. */ trialInterval: TrialInterval | null; /** * The number of interval units for the trial period. */ trialIntervalCount: number | null; /** * The name of the product. */ name: string; /** * The description of the product. */ description: string | null; visibility: ProductVisibility; /** * The recurring interval of the product. If `None`, the product is a one-time purchase. */ recurringInterval: SubscriptionRecurringInterval | null; /** * Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products. */ recurringIntervalCount: number | null; /** * Whether the product is a subscription. */ isRecurring: boolean; /** * Whether the product is archived and no longer available. */ isArchived: boolean; /** * The ID of the organization owning the product. */ organizationId: string; /** * List of prices for this product. */ prices: Array; /** * List of benefits granted by the product. */ benefits: Array; /** * List of medias associated to the product. */ medias: Array; }; /** @internal */ export declare const CheckoutProductPrices$inboundSchema: z.ZodMiniType; /** @internal */ export type CheckoutProductPrices$Outbound = LegacyRecurringProductPrice$Outbound | ProductPrice$Outbound; /** @internal */ export declare const CheckoutProductPrices$outboundSchema: z.ZodMiniType; export declare function checkoutProductPricesToJSON(checkoutProductPrices: CheckoutProductPrices): string; export declare function checkoutProductPricesFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const CheckoutProduct$inboundSchema: z.ZodMiniType; /** @internal */ export type CheckoutProduct$Outbound = { id: string; created_at: string; modified_at: string | null; trial_interval: string | null; trial_interval_count: number | null; name: string; description: string | null; visibility: string; recurring_interval: string | null; recurring_interval_count: number | null; is_recurring: boolean; is_archived: boolean; organization_id: string; prices: Array; benefits: Array; medias: Array; }; /** @internal */ export declare const CheckoutProduct$outboundSchema: z.ZodMiniType; export declare function checkoutProductToJSON(checkoutProduct: CheckoutProduct): string; export declare function checkoutProductFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=checkoutproduct.d.ts.map