import Stripe from 'stripe'; import type { CheckoutParams, CheckoutResult, CustomerParams, SubscriptionParams, SubscriptionResult, RefundParams, RefundResult, InvoiceResult, WebhookEvent } from '../core/provider.interface.js'; import { AbstractPaymentProvider } from '../core/abstract-provider.js'; export interface StripeConfig { secretKey: string; webhookSecret?: string; } export declare class StripeProvider extends AbstractPaymentProvider { private config; readonly name = "stripe"; readonly supportedCurrencies: string[]; readonly supportedMethods: string[]; stripe: Stripe; constructor(config: StripeConfig); protected doCheckout(params: CheckoutParams): Promise; createCustomer(params: CustomerParams): Promise; getCustomer(customerId: string): Promise>; updateCustomer(customerId: string, params: Partial): Promise>; createSubscription(params: SubscriptionParams): Promise; getSubscription(subscriptionId: string): Promise; cancelSubscription(subscriptionId: string, immediate?: boolean): Promise; changeSubscription(subscriptionId: string, newPriceId: string): Promise; pauseSubscription(subscriptionId: string): Promise; resumeSubscription(subscriptionId: string): Promise; createRefund(params: RefundParams): Promise; listInvoices(customerId: string, limit?: number): Promise; getUpcomingInvoice(customerId: string): Promise; createPortal(customerId: string, returnUrl: string): Promise<{ url: string; }>; protected doVerifyWebhook(body: string, signature: string): Promise; } /** * Create a Stripe provider from environment variables. */ export declare function createStripeProvider(config?: Partial): StripeProvider; //# sourceMappingURL=stripe.provider.d.ts.map