import { PrismaService } from "../prisma/prisma.service";
import { ProviderRouterService } from "../providers/provider-router.service";
import { WebhookEventService } from "../webhook-events/webhook-event.service";
import type { CreateRefundDto } from "./dto/create-refund.dto";
export declare class RefundService {
    private readonly prisma;
    private readonly router;
    private readonly webhookEvents;
    constructor(prisma: PrismaService, router: ProviderRouterService, webhookEvents: WebhookEventService);
    create(merchantId: string, dto: CreateRefundDto): Promise<{
        id: string;
        attemptId: string;
        amount: string;
        reason: string | null;
        status: import("@prisma/client").$Enums.PaymentRefundStatus;
        providerRefundId: string | null;
        createdAt: Date;
    }>;
    findOne(merchantId: string, id: string): Promise<{
        id: string;
        attemptId: string;
        amount: string;
        reason: string | null;
        status: import("@prisma/client").$Enums.PaymentRefundStatus;
        providerRefundId: string | null;
        createdAt: Date;
    }>;
    list(merchantId: string, opts?: {
        limit?: number;
        cursor?: string;
        intentId?: string;
    }): Promise<{
        data: {
            id: string;
            attemptId: string;
            amount: string;
            reason: string | null;
            status: import("@prisma/client").$Enums.PaymentRefundStatus;
            providerRefundId: string | null;
            createdAt: Date;
        }[];
        nextCursor: string | null;
    }>;
    private toDecimal;
    private mapRefundStatus;
    private toDto;
}
