import * as z from "zod/v4-mini"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { BenefitPublic } from "./benefitpublic.js"; import { LegacyRecurringProductPrice } from "./legacyrecurringproductprice.js"; import { ProductMediaFileRead } from "./productmediafileread.js"; import { ProductPrice } from "./productprice.js"; import { ProductVisibility } from "./productvisibility.js"; import { SubscriptionRecurringInterval } from "./subscriptionrecurringinterval.js"; import { TrialInterval } from "./trialinterval.js"; export type CustomerProductPrices = LegacyRecurringProductPrice | ProductPrice; /** * Schema of a product for customer portal. */ export type CustomerProduct = { /** * 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 available prices for this product. */ prices: Array; /** * The benefits granted by the product. */ benefits: Array; /** * The medias associated to the product. */ medias: Array; }; /** @internal */ export declare const CustomerProductPrices$inboundSchema: z.ZodMiniType; export declare function customerProductPricesFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const CustomerProduct$inboundSchema: z.ZodMiniType; export declare function customerProductFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=customerproduct.d.ts.map