import type { PaymentProvider, CheckoutParams, CheckoutResult, WebhookEvent } from './provider.interface.js'; /** * Base abstraite des dialectes de paiement. Chaque fournisseur * (Stripe, Chargily, Satim, PayPal, Manual) l'étend et n'implémente * que ses primitives. */ export declare abstract class AbstractPaymentProvider implements PaymentProvider { abstract readonly name: string; abstract readonly supportedCurrencies: string[]; abstract readonly supportedMethods: string[]; createCheckout(params: CheckoutParams): Promise; verifyWebhook(body: string, signature: string, headers?: Headers | Record): Promise; /** Crée la session de paiement chez le fournisseur (appel API / redirection). */ protected abstract doCheckout(params: CheckoutParams): Promise; /** Vérifie la signature et normalise l'event reçu du fournisseur. */ protected abstract doVerifyWebhook(body: string, signature: string, headers?: Headers | Record): Promise; /** Vrai si ce dialecte gère la devise (joker '*' inclus). */ supportsCurrency(currency: string | null | undefined): boolean; /** Garde commune : orderId présent, montant > 0, devise supportée. */ protected assertValidCheckout(params: CheckoutParams): void; } //# sourceMappingURL=abstract-provider.d.ts.map