import { PaymentStatus, Currency, PaymentMethod, MobileOperator, BankOperator } from '../types/payment.types';
export interface PaymentRequest {
    amount: number;
    currency: Currency;
    phoneNumber?: string | undefined;
    email?: string | undefined;
    fullName?: string | undefined;
    reference: string;
    description?: string | undefined;
    callbackUrl?: string | undefined;
    metadata?: Record<string, any>;
    paymentMethod?: PaymentMethod | undefined;
    operator?: MobileOperator | BankOperator | undefined;
    accountNumber?: string | undefined;
    otp?: string | undefined;
}
export interface PaymentResponse {
    success: boolean;
    status: PaymentStatus;
    transactionId: string;
    providerTransactionId?: string;
    amount: number;
    currency: Currency;
    phoneNumber?: string | undefined;
    email?: string | undefined;
    fullName?: string | undefined;
    reference: string;
    message?: string;
    timestamp: string;
    paymentMethod?: PaymentMethod | undefined;
    operator?: MobileOperator | undefined;
    providerData?: Record<string, any>;
}
export interface PaymentStatusRequest {
    transactionId: string;
    [key: string]: any;
}
export interface PaymentStatusResponse {
    transactionId: string;
    providerTransactionId?: string;
    status: PaymentStatus;
    amount?: number;
    currency?: Currency;
    reference: string;
    completedAt?: string | undefined;
    failureReason?: string | undefined;
    providerData?: Record<string, any>;
}
