import { SupportedProvider } from '../types/provider.types';
import { PaymentRequest, PaymentStatusRequest, PaymentStatusResponse } from './payment.interface';
import { WebhookVerificationResult } from './webhook.interface';
import { PaymentMethod, MobileOperator } from '../types/payment.types';
import { ProviderConfig } from '../types/provider.types';
import { VokoPaymentResponse } from '../models';
export interface PaymentAdapter {
    readonly provider: SupportedProvider;
    readonly config: ProviderConfig;
    initiatePayment(request: PaymentRequest): Promise<VokoPaymentResponse>;
    checkPaymentStatus(request: PaymentStatusRequest): Promise<PaymentStatusResponse>;
    verifyWebhook(payload: string, signature?: string): Promise<WebhookVerificationResult>;
    getSupportedPaymentMethods(): PaymentMethod[];
    getSupportedOperators(): MobileOperator[];
}
