import { CustomerReceiptRepository } from "../repositories/CustomerReceiptRepository.js";
import { Prisma } from "../generated/prisma/client.js";
export declare class CustomerReceiptService {
    private readonly customerReceiptRepository;
    constructor(customerReceiptRepository?: CustomerReceiptRepository);
    createReceipt(data: any): Promise<{
        customer: {
            name: string;
        };
    } & {
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        referenceNo: string | null;
        remarks: string | null;
        isWhatsappMessageSent: boolean;
        customerId: bigint;
        receiptDate: Date;
    }>;
    sendWhatsappReceipt(receiptId: bigint): Promise<void>;
    updateReceipt(id: bigint, data: any, userId?: bigint): Promise<{
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        referenceNo: string | null;
        remarks: string | null;
        isWhatsappMessageSent: boolean;
        customerId: bigint;
        receiptDate: Date;
    }>;
    deleteReceipt(id: bigint, userId?: bigint): Promise<{
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        referenceNo: string | null;
        remarks: string | null;
        isWhatsappMessageSent: boolean;
        customerId: bigint;
        receiptDate: Date;
    }>;
    getReceipts(page?: number, limit?: number, customerId?: bigint, dateFromStr?: string, dateToStr?: string, search?: string): Promise<{
        data: any[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getReceiptsForExport(customerId?: bigint, dateFromStr?: string, dateToStr?: string, search?: string): Promise<{
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        deletedAt: Date | null;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        referenceNo: string | null;
        remarks: string | null;
        isWhatsappMessageSent: boolean;
        customerId: bigint;
        receiptDate: Date;
    }[]>;
    getReceiptById(id: bigint): Promise<any>;
    getReceiptMeta(): Promise<{
        customers: {
            name: string;
            id: bigint;
            outstandingBalance: Prisma.Decimal;
        }[];
    }>;
}
//# sourceMappingURL=CustomerReceiptService.d.ts.map