import { PayrexxBaseModel, PayrexxTimestamps, MultiLanguageString } from '@/types'; export interface PaymentProviderRequest extends PayrexxBaseModel { name?: string; paymentMethods?: string[]; activePaymentMethods?: string[]; } export interface PaymentProviderResponse extends PayrexxBaseModel, PayrexxTimestamps { name: string; paymentMethods: string[]; activePaymentMethods: string[]; displayName?: MultiLanguageString; description?: MultiLanguageString; logo?: PaymentProviderLogo; configuration?: PaymentProviderConfiguration; status?: PaymentProviderStatus; integrationTypes?: PaymentProviderIntegrationType[]; supportedFeatures?: PaymentProviderFeature[]; supportedCountries?: string[]; supportedCurrencies?: string[]; } export interface PaymentProviderLogo { small?: string; medium?: string; large?: string; vector?: string; } export interface PaymentProviderConfiguration { [key: string]: any; requiresSecretKey?: boolean; requiresPublicKey?: boolean; requiresMerchantId?: boolean; requiresWebhookUrl?: boolean; apiEndpoint?: string; testMode?: boolean; autoCapture?: boolean; supportsBatch?: boolean; supportsWebhooks?: boolean; } export type PaymentProviderStatus = 'active' | 'inactive' | 'pending' | 'error' | 'maintenance'; export type PaymentProviderIntegrationType = 'hosted' | 'redirect' | 'iframe' | 'api' | 'mobile_sdk'; export type PaymentProviderFeature = 'refunds' | 'partial_refunds' | 'recurring' | 'preauthorization' | 'tokenization' | 'fraud_detection' | 'risk_management' | 'dispute_management' | 'reporting' | 'multi_currency' | 'webhooks'; export type KnownPaymentProviderName = 'stripe' | 'paypal' | 'adyen' | 'worldpay' | 'square' | 'braintree' | 'authorize_net' | 'mollie' | 'klarna' | 'datatrans' | 'postfinance' | 'twint' | 'six_payment_services' | string; export interface PaymentProviderStats { totalTransactions?: number; successfulTransactions?: number; failedTransactions?: number; refundedTransactions?: number; totalVolume?: number; avgTransactionAmount?: number; successRate?: number; avgProcessingTime?: number; periodStart?: string; periodEnd?: string; } //# sourceMappingURL=payment-provider.d.ts.map