import type { FunnelSdkRuntimeMode, FunnelSdkRuntimeConfigOverrides } from '../shared/types.js'; export type FunnelSdkCreateHostedCheckoutSessionInput = { planKey?: string | null; paymentProfileId?: string | null; provider?: 'stripe' | null; runtimeConfigRevisionId?: string | null; anonymousUserId?: string | null; checkoutIdentityToken?: string | null; idempotencyKey?: string | null; planId: string; offerSetId?: string | null; offerSetKey?: string | null; amountCents: number; successUrl: string; cancelUrl: string; analyticsMetadata?: Record | null; billingInterval?: string | null; billingIntervalCount?: number | null; couponId?: string | null; customerEmail?: string | null; description?: string | null; environment?: FunnelSdkRuntimeMode; providerPlanId?: string | null; runtimeConfig?: FunnelSdkRuntimeConfigOverrides; title?: string | null; userId?: string | null; }; export type FunnelSdkCreateHostedCheckoutSessionResponse = { checkoutSessionId?: string; checkoutAccessToken?: string; sessionId?: string; url: string; environment?: FunnelSdkRuntimeMode; }; export type FunnelSdkCreateSubscriptionCheckoutInput = { planId: string; planKey?: string | null; offerSetId?: string | null; offerSetKey?: string | null; amountCents: number; returnUrl: string; analyticsMetadata?: Record | null; billingInterval?: string | null; billingIntervalCount?: number | null; followUpProviderPlanId?: string | null; followUpPlanTitle?: string | null; followUpBillingInterval?: string | null; followUpBillingIntervalCount?: number | null; introIterations?: number | null; couponId?: string | null; customerEmail?: string | null; description?: string | null; environment?: FunnelSdkRuntimeMode; providerPlanId?: string | null; provider?: 'stripe' | null; paymentProfileId?: string | null; runtimeConfigRevisionId?: string | null; anonymousUserId?: string | null; checkoutIdentityToken?: string | null; idempotencyKey?: string | null; runtimeConfig?: FunnelSdkRuntimeConfigOverrides; title?: string | null; userId?: string | null; }; export type FunnelSdkCreateSubscriptionCheckoutResponse = { clientSecret: string; checkoutSessionId?: string; checkoutAccessToken?: string; subscriptionId?: string; stripePublishableKey?: string; environment?: FunnelSdkRuntimeMode; }; export type FunnelSdkCreateOneTimeCheckoutInput = { planId: string; planKey?: string | null; paymentProfileId?: string | null; provider?: 'stripe' | null; runtimeConfigRevisionId?: string | null; anonymousUserId?: string | null; checkoutIdentityToken?: string | null; idempotencyKey?: string | null; offerSetId?: string | null; offerSetKey?: string | null; amountCents: number; returnUrl: string; analyticsMetadata?: Record | null; couponId?: string | null; customerEmail?: string | null; description?: string | null; environment?: FunnelSdkRuntimeMode; providerPlanId?: string | null; runtimeConfig?: FunnelSdkRuntimeConfigOverrides; title?: string | null; userId?: string | null; }; export type FunnelSdkCreateOneTimeCheckoutResponse = { clientSecret: string; checkoutSessionId?: string; checkoutAccessToken?: string; stripePublishableKey?: string; environment?: FunnelSdkRuntimeMode; }; export type FunnelSdkUpdateSubscriptionCheckoutPlanInput = { checkoutSessionId: string; planId: string; planKey?: string | null; offerSetId?: string | null; offerSetKey?: string | null; amountCents: number; analyticsMetadata?: Record | null; billingInterval?: string | null; billingIntervalCount?: number | null; followUpProviderPlanId?: string | null; followUpPlanTitle?: string | null; followUpBillingInterval?: string | null; followUpBillingIntervalCount?: number | null; introIterations?: number | null; couponId?: string | null; customerEmail?: string | null; description?: string | null; environment?: FunnelSdkRuntimeMode; providerPlanId?: string | null; provider?: 'stripe' | null; paymentProfileId?: string | null; runtimeConfigRevisionId?: string | null; runtimeConfig?: FunnelSdkRuntimeConfigOverrides; title?: string | null; userId?: string | null; }; export type FunnelSdkUpdateSubscriptionCheckoutPlanResponse = { checkoutSessionId: string; environment?: FunnelSdkRuntimeMode; }; export type FunnelSdkVerifySubscriptionCheckoutInput = { checkoutSessionId: string; environment?: FunnelSdkRuntimeMode; runtimeConfig?: FunnelSdkRuntimeConfigOverrides; }; export type FunnelSdkVerifySubscriptionCheckoutResponse = { checkoutSessionId: string; paid: boolean; paymentStatus?: string | null; status?: string | null; environment?: FunnelSdkRuntimeMode; analyticsMetadata?: Record; }; export type FunnelSdkChargeOneClickPaymentInput = { planId: string; planKey?: string | null; offerSetId?: string | null; paymentProfileId?: string | null; provider?: 'stripe' | null; runtimeConfigRevisionId?: string | null; providerPlanId?: string | null; amountCents: number; analyticsMetadata?: Record | null; checkoutSessionId?: string | null; currency?: string | null; description?: string | null; environment?: FunnelSdkRuntimeMode; idempotencyKey?: string | null; runtimeConfig?: FunnelSdkRuntimeConfigOverrides; stripeCustomerId?: string | null; userId?: string | null; }; export type FunnelSdkChargeOneClickPaymentResponse = { paymentIntentId: string; status: string; amountCents?: number; clientSecret?: string; currency?: string; environment?: FunnelSdkRuntimeMode; stripePublishableKey?: string; };