import { Prisma } from "../generated/prisma/client.js";
export declare class PurchaseReturnService {
    createPurchaseReturn(data: {
        purchaseId: bigint;
        returnDate: string | Date;
        quantity: number | Prisma.Decimal;
        bags?: number | Prisma.Decimal | null;
        returnAmount: number | Prisma.Decimal;
        reason?: string;
        remarks?: string;
        createdBy?: bigint | null;
    }): Promise<{
        reason: string | null;
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        remarks: string | null;
        bags: Prisma.Decimal | null;
        quantity: Prisma.Decimal;
        purchaseId: bigint;
        returnDate: Date;
        returnAmount: Prisma.Decimal;
    }>;
    getPurchaseReturns(filters: {
        supplierId?: string | bigint;
        startDate?: string;
        endDate?: string;
        search?: string;
    }, page?: number, limit?: number): Promise<{
        items: ({
            purchase: {
                vegetable: {
                    name: string;
                    id: bigint;
                    tamilName: string | null;
                };
                supplier: {
                    name: string;
                    id: bigint;
                    tamilName: string | 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;
            bags: Prisma.Decimal | null;
            quantity: Prisma.Decimal;
            purchaseId: bigint;
            returnDate: Date;
            returnAmount: Prisma.Decimal;
        })[];
        total: number;
        page: number;
        limit: number;
        totalPages: number;
    }>;
    getPurchaseReturnById(id: bigint): 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;
        bags: Prisma.Decimal | null;
        quantity: Prisma.Decimal;
        purchaseId: bigint;
        returnDate: Date;
        returnAmount: Prisma.Decimal;
    }) | null>;
    deletePurchaseReturn(id: bigint): Promise<{
        reason: string | null;
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        remarks: string | null;
        bags: Prisma.Decimal | null;
        quantity: Prisma.Decimal;
        purchaseId: bigint;
        returnDate: Date;
        returnAmount: Prisma.Decimal;
    }>;
    getAllForExport(filters: {
        supplierId?: string | bigint;
        startDate?: string;
        endDate?: string;
        search?: string;
    }): Promise<({
        purchase: {
            vegetable: {
                name: string;
                id: bigint;
                tamilName: string | null;
            };
            supplier: {
                name: string;
                id: bigint;
                tamilName: string | 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;
        bags: Prisma.Decimal | null;
        quantity: Prisma.Decimal;
        purchaseId: bigint;
        returnDate: Date;
        returnAmount: Prisma.Decimal;
    })[]>;
}
//# sourceMappingURL=PurchaseReturnService.d.ts.map