import { Prisma } from "../generated/prisma/client.js";
export declare class ExpenseRepository {
    create(data: Prisma.ExpenseCreateInput): Promise<{
        id: number;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        remarks: string | null;
        purchaseId: bigint | null;
        expenseDate: Date;
        category: string;
    }>;
    findAll(skip?: number, take?: number, search?: string, startDate?: string, endDate?: string): Promise<{
        items: {
            id: number;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            amount: Prisma.Decimal;
            paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
            remarks: string | null;
            purchaseId: bigint | null;
            expenseDate: Date;
            category: string;
        }[];
        total: number;
        amountSum: number;
    }>;
    findById(id: number): Promise<{
        id: number;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        remarks: string | null;
        purchaseId: bigint | null;
        expenseDate: Date;
        category: string;
    } | null>;
    update(id: number, data: Prisma.ExpenseUpdateInput): Promise<{
        id: number;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        remarks: string | null;
        purchaseId: bigint | null;
        expenseDate: Date;
        category: string;
    }>;
    delete(id: number): Promise<{
        id: number;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        remarks: string | null;
        purchaseId: bigint | null;
        expenseDate: Date;
        category: string;
    }>;
    todayExpensesTotal(): Promise<number>;
    findAllForExport(search?: string, startDate?: string, endDate?: string): Promise<{
        id: number;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        amount: Prisma.Decimal;
        paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode;
        remarks: string | null;
        purchaseId: bigint | null;
        expenseDate: Date;
        category: string;
    }[]>;
    getMonthlyExpenses(year: number): Promise<{
        month: string;
        amount: number;
    }[]>;
}
//# sourceMappingURL=ExpenseRepository.d.ts.map