export type CreateCheckoutLink = (params: { type: "subscription" | "one-time"; productId: string; email?: string; name?: string; redirectUrl?: string; customerId?: string; organizationId?: string; userId?: string; trialPeriodDays?: number; seats?: number; }) => Promise; export type CreateCustomerPortalLink = (params: { subscriptionId?: string; customerId: string; redirectUrl?: string; }) => Promise; export type SetSubscriptionSeats = (params: { id: string; seats: number; }) => Promise; export type CancelSubscription = (id: string) => Promise; export type WebhookHandler = (req: Request) => Promise; export type PaymentProvider = { createCheckoutLink: CreateCheckoutLink; createCustomerPortalLink: CreateCustomerPortalLink; webhookHandler: WebhookHandler; };