import * as z from "zod/v4-mini"; import { AttachedCustomFieldCreate, AttachedCustomFieldCreate$Outbound } from "./attachedcustomfieldcreate.js"; import { ExistingProductPrice, ExistingProductPrice$Outbound } from "./existingproductprice.js"; import { ProductPriceCustomCreate, ProductPriceCustomCreate$Outbound } from "./productpricecustomcreate.js"; import { ProductPriceFixedCreate, ProductPriceFixedCreate$Outbound } from "./productpricefixedcreate.js"; import { ProductPriceFreeCreate, ProductPriceFreeCreate$Outbound } from "./productpricefreecreate.js"; import { ProductPriceMeteredUnitCreate, ProductPriceMeteredUnitCreate$Outbound } from "./productpricemeteredunitcreate.js"; import { ProductPriceSeatBasedCreate, ProductPriceSeatBasedCreate$Outbound } from "./productpriceseatbasedcreate.js"; import { ProductVisibility } from "./productvisibility.js"; import { SubscriptionRecurringInterval } from "./subscriptionrecurringinterval.js"; import { TrialInterval } from "./trialinterval.js"; export type ProductUpdateMetadata = string | number | number | boolean; export type Two = ProductPriceCustomCreate | ProductPriceFixedCreate | ProductPriceFreeCreate | ProductPriceMeteredUnitCreate | ProductPriceSeatBasedCreate; export type ProductUpdatePrices = ExistingProductPrice | ProductPriceCustomCreate | ProductPriceFixedCreate | ProductPriceFreeCreate | ProductPriceMeteredUnitCreate | ProductPriceSeatBasedCreate; /** * Schema to update a product. */ export type ProductUpdate = { /** * Key-value object allowing you to store additional information. * * @remarks * * The key must be a string with a maximum length of **40 characters**. * The value must be either: * * * A string with a maximum length of **500 characters** * * An integer * * A floating-point number * * A boolean * * You can store up to **50 key-value pairs**. */ metadata?: { [k: string]: string | number | number | boolean; } | undefined; /** * The interval unit for the trial period. */ trialInterval?: TrialInterval | null | undefined; /** * The number of interval units for the trial period. */ trialIntervalCount?: number | null | undefined; name?: string | null | undefined; /** * The description of the product. */ description?: string | null | undefined; /** * The recurring interval of the product. If `None`, the product is a one-time purchase. **Can only be set on legacy recurring products. Once set, it can't be changed.** */ recurringInterval?: SubscriptionRecurringInterval | null | undefined; /** * 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. Once set, it can't be changed.** */ recurringIntervalCount?: number | null | undefined; /** * Whether the product is archived. If `true`, the product won't be available for purchase anymore. Existing customers will still have access to their benefits, and subscriptions will continue normally. */ isArchived?: boolean | null | undefined; /** * The visibility of the product. */ visibility?: ProductVisibility | null | undefined; /** * List of available prices for this product. If you want to keep existing prices, include them in the list as an `ExistingProductPrice` object. */ prices?: Array | null | undefined; /** * List of file IDs. Each one must be on the same organization as the product, of type `product_media` and correctly uploaded. */ medias?: Array | null | undefined; attachedCustomFields?: Array | null | undefined; }; /** @internal */ export type ProductUpdateMetadata$Outbound = string | number | number | boolean; /** @internal */ export declare const ProductUpdateMetadata$outboundSchema: z.ZodMiniType; export declare function productUpdateMetadataToJSON(productUpdateMetadata: ProductUpdateMetadata): string; /** @internal */ export type Two$Outbound = ProductPriceCustomCreate$Outbound | ProductPriceFixedCreate$Outbound | ProductPriceFreeCreate$Outbound | ProductPriceMeteredUnitCreate$Outbound | ProductPriceSeatBasedCreate$Outbound; /** @internal */ export declare const Two$outboundSchema: z.ZodMiniType; export declare function twoToJSON(two: Two): string; /** @internal */ export type ProductUpdatePrices$Outbound = ExistingProductPrice$Outbound | ProductPriceCustomCreate$Outbound | ProductPriceFixedCreate$Outbound | ProductPriceFreeCreate$Outbound | ProductPriceMeteredUnitCreate$Outbound | ProductPriceSeatBasedCreate$Outbound; /** @internal */ export declare const ProductUpdatePrices$outboundSchema: z.ZodMiniType; export declare function productUpdatePricesToJSON(productUpdatePrices: ProductUpdatePrices): string; /** @internal */ export type ProductUpdate$Outbound = { metadata?: { [k: string]: string | number | number | boolean; } | undefined; trial_interval?: string | null | undefined; trial_interval_count?: number | null | undefined; name?: string | null | undefined; description?: string | null | undefined; recurring_interval?: string | null | undefined; recurring_interval_count?: number | null | undefined; is_archived?: boolean | null | undefined; visibility?: string | null | undefined; prices?: Array | null | undefined; medias?: Array | null | undefined; attached_custom_fields?: Array | null | undefined; }; /** @internal */ export declare const ProductUpdate$outboundSchema: z.ZodMiniType; export declare function productUpdateToJSON(productUpdate: ProductUpdate): string; //# sourceMappingURL=productupdate.d.ts.map