import { Prisma } from '../generated/prisma/client.js';
interface CreateSpoilageInput {
    purchaseId: bigint;
    quantity: Prisma.Decimal;
    spoilageDate: Date;
    reason?: string;
    remarks?: string;
    createdBy?: bigint;
}
interface ListSpoilagesFilters {
    purchaseId?: bigint;
    vegetableId?: bigint;
    from?: Date;
    to?: Date;
}
export declare class StockSpoilageService {
    static createSpoilage(input: CreateSpoilageInput): Promise<{
        reason: string | null;
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        remarks: string | null;
        quantity: Prisma.Decimal;
        purchaseId: bigint;
        spoilageDate: Date;
    }>;
    static listSpoilages(filters: ListSpoilagesFilters): Promise<({
        purchase: {
            vegetable: {
                name: string;
                id: bigint;
                status: boolean;
                createdAt: Date;
                updatedAt: Date;
                tamilName: string | null;
                createdBy: bigint | null;
                hindiName: string | null;
                kannadaName: string | null;
                malayalamName: string | null;
                teluguName: string | null;
                hsnCode: string | null;
                isFlexible: boolean;
            };
            supplier: {
                name: string;
                id: bigint;
                address: string | null;
                status: boolean;
                createdAt: Date;
                updatedAt: Date;
                mobileNo: string;
                tamilName: string | null;
                createdBy: bigint | null;
                stateId: bigint;
                districtId: bigint;
                openingBalance: Prisma.Decimal;
                outstandingBalance: Prisma.Decimal;
                deletedAt: Date | null;
            } | null;
        } & {
            unit: import("../generated/prisma/index.js").$Enums.PurchaseUnit;
            id: bigint;
            status: import("../generated/prisma/index.js").$Enums.PurchaseStatus;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            deletedAt: Date | null;
            supplierId: bigint | null;
            remarks: string | null;
            purchaseDate: Date;
            billNo: string | null;
            cashSupplierName: string | null;
            vegetableId: bigint;
            lotNo: string;
            purchaseType: import("../generated/prisma/index.js").$Enums.PurchaseType;
            rateType: import("../generated/prisma/index.js").$Enums.RateType;
            bags: Prisma.Decimal;
            weightPerBag: Prisma.Decimal | null;
            quantity: Prisma.Decimal;
            ratePerUnit: Prisma.Decimal;
            freight: Prisma.Decimal;
            extraFreight: Prisma.Decimal;
            associationFee: Prisma.Decimal;
            unloadingFee: Prisma.Decimal;
            miscellaneousFee: Prisma.Decimal;
            totalFreight: Prisma.Decimal;
            transportFee: Prisma.Decimal;
            loadingUnloadingFee: Prisma.Decimal;
            otherCharges: Prisma.Decimal;
            thaiyalCharges: Prisma.Decimal;
            extraCharges: Prisma.Decimal;
            goodsTotal: Prisma.Decimal;
            surchargeTotal: Prisma.Decimal;
            costPerUnit: Prisma.Decimal;
            grandTotal: Prisma.Decimal;
            dateOfDespatch: Date | null;
            arrivalDate: Date | null;
            placeOfDespatch: string | null;
            placeOfArrival: string | null;
            truckNo: string | null;
            agentName: string | null;
            advanceAmount: Prisma.Decimal;
            balanceAmount: Prisma.Decimal;
            remainingQuantity: Prisma.Decimal;
            remainingBags: Prisma.Decimal;
            closedAt: Date | null;
        };
    } & {
        reason: string | null;
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        remarks: string | null;
        quantity: Prisma.Decimal;
        purchaseId: bigint;
        spoilageDate: Date;
    })[]>;
}
export {};
//# sourceMappingURL=StockSpoilageService.d.ts.map