import { DonationsService } from './donations.service';
export declare class DonationsController {
    private readonly donationsService;
    constructor(donationsService: DonationsService);
    create(createDonationDto: {
        campaignId: string;
        amount: number;
        donorId?: string;
        donorName?: string;
        donorEmail?: string;
        message?: string;
        isAnonymous: boolean;
    }): Promise<{
        id: string;
        status: import(".prisma/client").$Enums.DonationStatus;
        verifiedAt: Date | null;
        verifiedBy: string | null;
        createdAt: Date;
        updatedAt: Date;
        tenantId: string;
        campaignId: string;
        paymentMethod: string | null;
        ipAddress: string | null;
        userAgent: string | null;
        invoiceNumber: string;
        donorName: string;
        donorEmail: string | null;
        donorPhone: string | null;
        donorPrayer: string | null;
        isAnonymous: boolean;
        amount: import("@prisma/client/runtime/library").Decimal;
        platformFee: import("@prisma/client/runtime/library").Decimal;
        paymentFee: import("@prisma/client/runtime/library").Decimal;
        netAmount: import("@prisma/client/runtime/library").Decimal;
        paymentChannel: string | null;
        paymentGateway: import(".prisma/client").$Enums.PaymentGateway | null;
        externalId: string | null;
        paymentUrl: string | null;
        proofUrl: string | null;
        qrCodeUrl: string | null;
        vaNumber: string | null;
        paidAt: Date | null;
        expiredAt: Date | null;
        receiptUrl: string | null;
        receiptSent: boolean;
        receiptSentAt: Date | null;
        proofImageUrl: string | null;
        proofUploadedAt: Date | null;
        isRecurring: boolean;
        referralCode: string | null;
        utmSource: string | null;
        utmMedium: string | null;
        utmCampaign: string | null;
        recurringId: string | null;
        fundraiserId: string | null;
        donorId: string | null;
    }>;
    findHistory(req: any): Promise<({
        campaign: {
            slug: string;
            coverImageUrl: string | null;
            title: string;
        };
    } & {
        id: string;
        status: import(".prisma/client").$Enums.DonationStatus;
        verifiedAt: Date | null;
        verifiedBy: string | null;
        createdAt: Date;
        updatedAt: Date;
        tenantId: string;
        campaignId: string;
        paymentMethod: string | null;
        ipAddress: string | null;
        userAgent: string | null;
        invoiceNumber: string;
        donorName: string;
        donorEmail: string | null;
        donorPhone: string | null;
        donorPrayer: string | null;
        isAnonymous: boolean;
        amount: import("@prisma/client/runtime/library").Decimal;
        platformFee: import("@prisma/client/runtime/library").Decimal;
        paymentFee: import("@prisma/client/runtime/library").Decimal;
        netAmount: import("@prisma/client/runtime/library").Decimal;
        paymentChannel: string | null;
        paymentGateway: import(".prisma/client").$Enums.PaymentGateway | null;
        externalId: string | null;
        paymentUrl: string | null;
        proofUrl: string | null;
        qrCodeUrl: string | null;
        vaNumber: string | null;
        paidAt: Date | null;
        expiredAt: Date | null;
        receiptUrl: string | null;
        receiptSent: boolean;
        receiptSentAt: Date | null;
        proofImageUrl: string | null;
        proofUploadedAt: Date | null;
        isRecurring: boolean;
        referralCode: string | null;
        utmSource: string | null;
        utmMedium: string | null;
        utmCampaign: string | null;
        recurringId: string | null;
        fundraiserId: string | null;
        donorId: string | null;
    })[]>;
    simulateWebhook(body: {
        invoiceNumber: string;
    }): Promise<{
        message: string;
    }>;
    findOne(invoiceNumber: string): Promise<{
        campaign: {
            slug: string;
            title: string;
        };
    } & {
        id: string;
        status: import(".prisma/client").$Enums.DonationStatus;
        verifiedAt: Date | null;
        verifiedBy: string | null;
        createdAt: Date;
        updatedAt: Date;
        tenantId: string;
        campaignId: string;
        paymentMethod: string | null;
        ipAddress: string | null;
        userAgent: string | null;
        invoiceNumber: string;
        donorName: string;
        donorEmail: string | null;
        donorPhone: string | null;
        donorPrayer: string | null;
        isAnonymous: boolean;
        amount: import("@prisma/client/runtime/library").Decimal;
        platformFee: import("@prisma/client/runtime/library").Decimal;
        paymentFee: import("@prisma/client/runtime/library").Decimal;
        netAmount: import("@prisma/client/runtime/library").Decimal;
        paymentChannel: string | null;
        paymentGateway: import(".prisma/client").$Enums.PaymentGateway | null;
        externalId: string | null;
        paymentUrl: string | null;
        proofUrl: string | null;
        qrCodeUrl: string | null;
        vaNumber: string | null;
        paidAt: Date | null;
        expiredAt: Date | null;
        receiptUrl: string | null;
        receiptSent: boolean;
        receiptSentAt: Date | null;
        proofImageUrl: string | null;
        proofUploadedAt: Date | null;
        isRecurring: boolean;
        referralCode: string | null;
        utmSource: string | null;
        utmMedium: string | null;
        utmCampaign: string | null;
        recurringId: string | null;
        fundraiserId: string | null;
        donorId: string | null;
    }>;
}
