/**
 * Payment Services - Main Export
 * Centralized exports for all payment-related services
 */

// Base Interface
const PaymentServiceInterface = require('./PaymentServiceInterface');

// Payment Services
const KudaBankService = require('./KudaBankService');
const OpayService = require('./OpayService');
const MoniepointService = require('./MoniepointService');
const PalmPayService = require('./PalmPayService');
const BinancePayService = require('./BinancePayService');
const BankTransferService = require('./BankTransferService');
const USSDPaymentService = require('./USSDPaymentService');
const MonoVerificationService = require('./MonoVerificationService');
const KorapayService = require('./KorapayService');
const CryptomusService = require('./CryptomusService');

// Factory
const { PaymentServiceFactory, getPaymentServiceFactory } = require('./PaymentServiceFactory');

module.exports = {
  // Base Interface
  PaymentServiceInterface,

  // Individual Services
  KudaBankService,
  OpayService,
  MoniepointService,
  PalmPayService,
  BinancePayService,
  BankTransferService,
  USSDPaymentService,
  MonoVerificationService,
  KorapayService,
  CryptomusService,

  // Factory
  PaymentServiceFactory,
  getPaymentServiceFactory
};
