export interface PaymentLinkResult {
    paymentLink: string;
    paymentReference: string;
    gatewayReference?: string;
}
export interface SeamlessPaymentResult {
    paymentReference: string;
    pollUrl?: string;
    gatewayReference?: string;
}
export interface PaymentVerificationResult {
    status: 'SUCCESS' | 'FAILED' | 'PENDING';
    gatewayReference?: string;
    amount?: number;
    rawResponse?: string;
}
export interface PaymentGateway {
    createPaymentLink(orderId: string, amount: number, currency: string, customerEmail: string, callbackUrl: string): Promise<PaymentLinkResult>;
    makeSeamlessPayment(orderId: string, amount: number, currency: string, ecocashNumber: string, customerEmail: string, reason: string, callbackUrl: string): Promise<SeamlessPaymentResult>;
    verifyPayment(paymentReference: string): Promise<PaymentVerificationResult>;
}
