///
import { PaymentCancelledEvent, PaymentEventType, PaymentFailedEvent, PaymentInitiatedEvent, PaymentSuccessfulEvent } from "./payment-events";
import { CreditCardCheckoutOptions, HandleWebhookOptions, MobileMoneyCheckoutOptions, MobileMoneyPayoutOptions, PaymentProvider, RedirectCheckoutOptions, RefundOptions } from "./payment-provider.interface";
import { EventEmitter2 } from "eventemitter2";
declare class AfricaPaymentsProvider extends EventEmitter2 {
private providers;
constructor(providers: PaymentProvider | [PaymentProvider, ...PaymentProvider[]]);
checkoutMobileMoney(options: MobileMoneyCheckoutOptions): Promise;
checkoutCreditCard(options: CreditCardCheckoutOptions): Promise;
checkoutRedirect(options: RedirectCheckoutOptions): Promise;
payoutMobileMoney(options: MobileMoneyPayoutOptions): Promise;
tryEachProvider(callback: (provider: PaymentProvider) => T | Promise): Promise;
refund(options: RefundOptions): Promise;
handleWebhook(requestBody: Buffer | string | Record, options?: HandleWebhookOptions): Promise;
on(event: PaymentEventType.PAYMENT_INITIATED, listener: (event: PaymentInitiatedEvent) => void): this;
on(event: PaymentEventType.PAYMENT_SUCCESSFUL, listener: (event: PaymentSuccessfulEvent) => void): this;
on(event: PaymentEventType.PAYMENT_FAILED, listener: (event: PaymentFailedEvent) => void): this;
on(event: PaymentEventType.PAYMENT_CANCELLED, listener: (event: PaymentCancelledEvent) => void): this;
}
export default AfricaPaymentsProvider;
//# sourceMappingURL=africa-payments.d.ts.map