import { PaymentService } from './payment.service';
export declare class PaymentController {
    private readonly paymentService;
    constructor(paymentService: PaymentService);
    initiatePayment(req: any, body: any): Promise<{
        txRef: string;
        status: string;
        paymentLink: any;
        orderId: any;
        paymentMethod: string;
    } | {
        txRef: string;
        status: string;
        telebirrRawRequest: string;
        paymentLink: any;
        paymentMethod: string;
    } | {
        txRef: string;
        status: string;
        paymentLink: any;
        data: {
            tx_ref: string;
            amount: string;
            currency: string;
            redirect_url: string;
            customer: {
                email: string;
                name: string;
            };
            customizations: {
                title: string;
                description: string;
                logo: string;
            };
            meta: {
                applicationId: string;
            };
        };
    } | {
        txRef: string;
        status: string;
        data: {
            tx_ref: string;
            amount: number;
            currency: string;
            redirect_url: string;
            customer: {
                email: string;
                name: string;
            };
            customizations: {
                title: string;
                description: string;
            };
        };
        paymentLink?: undefined;
    }>;
    verifyPayment(body: {
        transactionId?: string;
        txRef?: string;
    }): Promise<any>;
    confirmClientPayment(req: any, body: {
        txRef: string;
        transactionId?: string;
        status?: string;
    }): Promise<{
        ok: boolean;
        tx_ref: string;
        status: string;
    }>;
    handleWebhook(body: any): Promise<{
        status: string;
        tx_ref?: undefined;
    } | {
        status: string;
        tx_ref: any;
    }>;
    paymentCallback(txRef: string, transactionId: string, status: string): Promise<{
        redirect: string;
    }>;
    recordPayout(req: any, body: any): Promise<import("../payouts/payout.entity").Payout>;
    getConfig(): {
        publicKey: string;
        paypalClientId: string;
        telebirrEnabled: boolean;
    };
    getTransaction(req: any, txRef: string): Promise<import("./payment-transaction.entity").PaymentTransaction>;
    getTransactions(req: any): Promise<import("./payment-transaction.entity").PaymentTransaction[]>;
    getCampaignEscrow(req: any, campaignId: string): Promise<{
        deposited: number;
        committed: number;
        available: number;
    }>;
    capturePaypalOrder(orderId: string): Promise<any>;
    telebirrWebhook(body: any): Promise<{
        status: string;
        tx_ref?: undefined;
    } | {
        status: string;
        tx_ref: any;
    }>;
    verifyTelebirrPayment(outTradeNo: string): Promise<{
        tx_ref: string;
        status: string;
        amount: number;
        currency: string;
        payment_method: string;
    }>;
}
