import { SupplierPaymentRepository } from "../repositories/SupplierPaymentRepository.js";
import { Prisma } from "../generated/prisma/client.js";
export declare class SupplierPaymentService {
    private readonly supplierPaymentRepository;
    constructor(supplierPaymentRepository?: SupplierPaymentRepository);
    createPayment(data: any): Promise<{
        supplier: {
            name: string;
        };
    } & {
        type: import("../generated/prisma/index.js").$Enums.SupplierPaymentType;
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        supplierId: bigint;
        paymentDate: Date;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        referenceNo: string | null;
        remarks: string | null;
        isWhatsappMessageSent: boolean;
    }>;
    sendWhatsappPayment(paymentId: bigint): Promise<void>;
    updatePayment(id: bigint, data: any, userId?: bigint): Promise<{
        type: import("../generated/prisma/index.js").$Enums.SupplierPaymentType;
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        supplierId: bigint;
        paymentDate: Date;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        referenceNo: string | null;
        remarks: string | null;
        isWhatsappMessageSent: boolean;
    }>;
    deletePayment(id: bigint, userId?: bigint): Promise<{
        type: import("../generated/prisma/index.js").$Enums.SupplierPaymentType;
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        supplierId: bigint;
        paymentDate: Date;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        referenceNo: string | null;
        remarks: string | null;
        isWhatsappMessageSent: boolean;
    }>;
    getPayments(page?: number, limit?: number, supplierId?: bigint, dateFromStr?: string, dateToStr?: string, search?: string): Promise<{
        data: {
            type: import("../generated/prisma/index.js").$Enums.SupplierPaymentType;
            id: bigint;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            deletedAt: Date | null;
            supplierId: bigint;
            paymentDate: Date;
            amount: Prisma.Decimal;
            paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
            referenceNo: string | null;
            remarks: string | null;
            isWhatsappMessageSent: boolean;
        }[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getPaymentById(id: bigint): Promise<{
        supplier: {
            name: string;
            outstandingBalance: Prisma.Decimal;
        };
    } & {
        type: import("../generated/prisma/index.js").$Enums.SupplierPaymentType;
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        supplierId: bigint;
        paymentDate: Date;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        referenceNo: string | null;
        remarks: string | null;
        isWhatsappMessageSent: boolean;
    }>;
    getPaymentsForExport(supplierId?: bigint, dateFromStr?: string, dateToStr?: string, search?: string): Promise<{
        type: import("../generated/prisma/index.js").$Enums.SupplierPaymentType;
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        supplierId: bigint;
        paymentDate: Date;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        referenceNo: string | null;
        remarks: string | null;
        isWhatsappMessageSent: boolean;
    }[]>;
    getPaymentMeta(): Promise<{
        suppliers: {
            name: string;
            id: bigint;
            outstandingBalance: Prisma.Decimal;
        }[];
    }>;
}
//# sourceMappingURL=SupplierPaymentService.d.ts.map