import { PrismaService } from '../../prisma/prisma.service';
import { NotificationsService } from '../notifications/notifications.module';
export declare class PaymentsService {
    private prisma;
    private notificationsService;
    constructor(prisma: PrismaService, notificationsService: NotificationsService);
    getAllPendingPayments(): Promise<({
        vendor: {
            pharmacy: {
                name: string;
            };
            name: string;
            phone: string;
            id: string;
            ccp: string;
            ccpKey: string;
            rip: string;
        };
    } & {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        vendorId: string;
        periodType: string;
        startDate: Date;
        endDate: Date;
        totalSales: number;
        totalCommission: number;
        paidAmount: number;
        paidAt: Date | null;
    })[]>;
    getAllPayments(query?: {
        vendorId?: string;
        status?: string;
        periodType?: string;
        vendorName?: string;
        vendorPhone?: string;
        startDate?: string;
        endDate?: string;
        page?: number;
        limit?: number;
    }): Promise<{
        data: ({
            vendor: {
                pharmacy: {
                    name: string;
                };
                name: string;
                phone: string;
                id: string;
                ccp: string;
                ccpKey: string;
                rip: string;
            };
        } & {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: string;
            vendorId: string;
            periodType: string;
            startDate: Date;
            endDate: Date;
            totalSales: number;
            totalCommission: number;
            paidAmount: number;
            paidAt: Date | null;
        })[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    markAsPaid(periodId: string, amount?: number): Promise<any>;
    getVendorPaymentHistory(vendorId: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: string;
        vendorId: string;
        periodType: string;
        startDate: Date;
        endDate: Date;
        totalSales: number;
        totalCommission: number;
        paidAmount: number;
        paidAt: Date | null;
    }[]>;
    getPaymentSummary(): Promise<{
        pending: {
            count: number;
            total: number;
        };
        paid: {
            count: number;
            total: number;
        };
    }>;
}
