export interface CheckoutConfigurationVariant { /** Whether this variant accepts local currency payments via adaptive pricing. */ adaptive_pricing_enabled: boolean; /** Recurring billing interval in days. */ billing_period: number | null; /** Billing model for the variant. */ billing_type: CheckoutConfigurationVariant.BillingType; /** Three-letter ISO currency code for the variant's prices. */ currency: string; /** Access duration in days for expiration-based variants. */ expiration_days: number | null; /** Variant ID, prefixed `plan_`. */ id: string; /** Initial purchase price in the variant currency. */ initial_price: number; /** Sales method for the variant. */ release_method: CheckoutConfigurationVariant.ReleaseMethod; /** Recurring price charged each billing period. */ renewal_price: number; /** 3D Secure behavior for supported on-session card payments. `mandate_challenge` requires a 3DS challenge before payment processing; `mandate_if_required` mandates a challenge only when the payment processor requires it; `frictionless_if_required` uses the regular frictionless 3DS flow. Payments of $1,000 or more use `mandate_if_required` unless `mandate_challenge` is selected. Risk and authentication recovery requirements can override the preference. `null` inherits the account default. */ three_ds_level: CheckoutConfigurationVariant.ThreeDsLevel | null; /** Free trial days before the first renewal charge. */ trial_period_days: number | null; /** Whether the variant is visible to customers or hidden from public view. */ visibility: CheckoutConfigurationVariant.Visibility; } export declare namespace CheckoutConfigurationVariant { /** Billing model for the variant. */ const BillingType: { readonly Renewal: "renewal"; readonly OneTime: "one_time"; }; type BillingType = (typeof BillingType)[keyof typeof BillingType]; /** Sales method for the variant. */ const ReleaseMethod: { readonly BuyNow: "buy_now"; readonly Waitlist: "waitlist"; }; type ReleaseMethod = (typeof ReleaseMethod)[keyof typeof ReleaseMethod]; /** 3D Secure behavior for supported on-session card payments. `mandate_challenge` requires a 3DS challenge before payment processing; `mandate_if_required` mandates a challenge only when the payment processor requires it; `frictionless_if_required` uses the regular frictionless 3DS flow. Payments of $1,000 or more use `mandate_if_required` unless `mandate_challenge` is selected. Risk and authentication recovery requirements can override the preference. `null` inherits the account default. */ const ThreeDsLevel: { readonly MandateChallenge: "mandate_challenge"; readonly MandateIfRequired: "mandate_if_required"; readonly FrictionlessIfRequired: "frictionless_if_required"; }; type ThreeDsLevel = (typeof ThreeDsLevel)[keyof typeof ThreeDsLevel]; /** Whether the variant is visible to customers or hidden from public view. */ const Visibility: { readonly Visible: "visible"; readonly Hidden: "hidden"; readonly Archived: "archived"; readonly QuickLink: "quick_link"; }; type Visibility = (typeof Visibility)[keyof typeof Visibility]; }