import { Prisma } from "../generated/prisma/client.js";
import { ArrivalRepository } from "../repositories/ArrivalRepository.js";
export declare class ArrivalService {
    private readonly arrivalRepository;
    constructor(arrivalRepository?: ArrivalRepository);
    checkLotAvailability(lotNo: string, vegetableId?: bigint, excludeId?: bigint): Promise<{
        isAvailable: boolean;
        activeLotId: string;
        vegetableName: string;
        remainingQuantity: number;
        remainingBags: number;
        status: import("../generated/prisma/index.js").$Enums.PurchaseStatus;
        message: string;
    } | {
        isAvailable: boolean;
        activeLotId: null;
        vegetableName: null;
        remainingQuantity: number;
        remainingBags: number;
        status: string;
        message: string;
    }>;
    createArrival(data: any, userId?: bigint): Promise<{
        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;
    }>;
    getAllArrivals(query: {
        page?: number;
        limit?: number;
        search?: string;
        dateFrom?: string;
        dateTo?: string;
        supplierId?: string;
        vegetableId?: string;
        settlementStatus?: "UNSETTLED" | "PARTIALLY_SETTLED" | "SETTLED" | "ALL";
    }): Promise<{
        data: {
            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;
        }[];
        meta: {
            page: number;
            limit: number;
            total: number;
            totalPages: number;
        };
    }>;
    getArrivalById(id: bigint): Promise<{
        salesSummary: {
            saleItems: ({
                id: string;
                channel: "WHOLESALE";
                source: string;
                saleId: bigint;
                invoiceNo: string;
                invoiceDate: Date;
                buyerName: string;
                quantity: Prisma.Decimal;
                bags: Prisma.Decimal | null;
                sellingRate: Prisma.Decimal;
                total: Prisma.Decimal;
                returnedQuantity: Prisma.Decimal;
                returnedAmount: Prisma.Decimal;
                originalQuantity: Prisma.Decimal;
                originalTotal: Prisma.Decimal;
                netQuantity: Prisma.Decimal;
                netTotal: Prisma.Decimal;
                createdAt: Date;
                sale: {
                    customer: {
                        name: string;
                    } | null;
                    invoiceNo: string;
                    walkInName: string | null;
                    invoiceDate: Date;
                };
                saleReturns: {
                    reason: string | null;
                    id: bigint;
                    createdAt: Date;
                    updatedAt: Date;
                    createdBy: bigint | null;
                    remarks: string | null;
                    quantity: Prisma.Decimal;
                    purchaseId: bigint;
                    saleItemId: bigint;
                    returnDate: Date;
                    returnAmount: Prisma.Decimal;
                }[];
            } | {
                id: string;
                channel: "RETAIL";
                source: string;
                saleId: bigint;
                invoiceNo: string;
                invoiceDate: Date;
                buyerName: string;
                quantity: Prisma.Decimal;
                bags: Prisma.Decimal | null;
                sellingRate: Prisma.Decimal;
                total: Prisma.Decimal;
                returnedQuantity: Prisma.Decimal;
                returnedAmount: Prisma.Decimal;
                netQuantity: Prisma.Decimal;
                netTotal: Prisma.Decimal;
                createdAt: Date;
                sale: {
                    invoiceNo: string;
                    invoiceDate: Date;
                    walkInName: string;
                    customer: null;
                };
                saleReturns: never[];
            })[];
            wholesaleSaleItems: {
                id: string;
                channel: "WHOLESALE";
                source: string;
                saleId: bigint;
                invoiceNo: string;
                invoiceDate: Date;
                buyerName: string;
                quantity: Prisma.Decimal;
                bags: Prisma.Decimal | null;
                sellingRate: Prisma.Decimal;
                total: Prisma.Decimal;
                returnedQuantity: Prisma.Decimal;
                returnedAmount: Prisma.Decimal;
                originalQuantity: Prisma.Decimal;
                originalTotal: Prisma.Decimal;
                netQuantity: Prisma.Decimal;
                netTotal: Prisma.Decimal;
                createdAt: Date;
                sale: {
                    customer: {
                        name: string;
                    } | null;
                    invoiceNo: string;
                    walkInName: string | null;
                    invoiceDate: Date;
                };
                saleReturns: {
                    reason: string | null;
                    id: bigint;
                    createdAt: Date;
                    updatedAt: Date;
                    createdBy: bigint | null;
                    remarks: string | null;
                    quantity: Prisma.Decimal;
                    purchaseId: bigint;
                    saleItemId: bigint;
                    returnDate: Date;
                    returnAmount: Prisma.Decimal;
                }[];
            }[];
            retailSaleItems: {
                id: string;
                channel: "RETAIL";
                source: string;
                saleId: bigint;
                invoiceNo: string;
                invoiceDate: Date;
                buyerName: string;
                quantity: Prisma.Decimal;
                bags: Prisma.Decimal | null;
                sellingRate: Prisma.Decimal;
                total: Prisma.Decimal;
                returnedQuantity: Prisma.Decimal;
                returnedAmount: Prisma.Decimal;
                netQuantity: Prisma.Decimal;
                netTotal: Prisma.Decimal;
                createdAt: Date;
                sale: {
                    invoiceNo: string;
                    invoiceDate: Date;
                    walkInName: string;
                    customer: null;
                };
                saleReturns: never[];
            }[];
            totalWeightSold: Prisma.Decimal;
            totalBagsSold: Prisma.Decimal;
            grossSalesTotal: Prisma.Decimal;
            totalReturnedQuantity: Prisma.Decimal;
            totalReturnedAmount: Prisma.Decimal;
            wholesaleWeightSold: Prisma.Decimal;
            wholesaleGrossTotal: Prisma.Decimal;
            retailWeightSold: Prisma.Decimal;
            retailGrossTotal: Prisma.Decimal;
            retailAllocatedQty: Prisma.Decimal;
            retailAllocatedBags: Prisma.Decimal;
            retailRemainingQty: Prisma.Decimal;
            retailRemainingBags: Prisma.Decimal;
        };
        saleItems: ({
            id: string;
            channel: "WHOLESALE";
            source: string;
            saleId: bigint;
            invoiceNo: string;
            invoiceDate: Date;
            buyerName: string;
            quantity: Prisma.Decimal;
            bags: Prisma.Decimal | null;
            sellingRate: Prisma.Decimal;
            total: Prisma.Decimal;
            returnedQuantity: Prisma.Decimal;
            returnedAmount: Prisma.Decimal;
            originalQuantity: Prisma.Decimal;
            originalTotal: Prisma.Decimal;
            netQuantity: Prisma.Decimal;
            netTotal: Prisma.Decimal;
            createdAt: Date;
            sale: {
                customer: {
                    name: string;
                } | null;
                invoiceNo: string;
                walkInName: string | null;
                invoiceDate: Date;
            };
            saleReturns: {
                reason: string | null;
                id: bigint;
                createdAt: Date;
                updatedAt: Date;
                createdBy: bigint | null;
                remarks: string | null;
                quantity: Prisma.Decimal;
                purchaseId: bigint;
                saleItemId: bigint;
                returnDate: Date;
                returnAmount: Prisma.Decimal;
            }[];
        } | {
            id: string;
            channel: "RETAIL";
            source: string;
            saleId: bigint;
            invoiceNo: string;
            invoiceDate: Date;
            buyerName: string;
            quantity: Prisma.Decimal;
            bags: Prisma.Decimal | null;
            sellingRate: Prisma.Decimal;
            total: Prisma.Decimal;
            returnedQuantity: Prisma.Decimal;
            returnedAmount: Prisma.Decimal;
            netQuantity: Prisma.Decimal;
            netTotal: Prisma.Decimal;
            createdAt: Date;
            sale: {
                invoiceNo: string;
                invoiceDate: Date;
                walkInName: string;
                customer: null;
            };
            saleReturns: never[];
        })[];
        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;
        arrivalSettlement: {
            id: bigint;
            status: import("../generated/prisma/index.js").$Enums.SettlementStatus;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            paymentMode: import("../generated/prisma/index.js").$Enums.PaymentMode | null;
            remarks: string | null;
            balanceAmount: Prisma.Decimal;
            purchaseId: bigint;
            settlementNo: string;
            settlementDate: Date;
            totalWeightSold: Prisma.Decimal;
            grossSalesTotal: Prisma.Decimal;
            commissionPercent: Prisma.Decimal;
            commissionAmount: Prisma.Decimal;
            freightDeducted: Prisma.Decimal;
            extraFreightDeducted: Prisma.Decimal;
            associationDeducted: Prisma.Decimal;
            unloadingDeducted: Prisma.Decimal;
            miscDeducted: Prisma.Decimal;
            totalDeductions: Prisma.Decimal;
            advanceAdjusted: Prisma.Decimal;
            netPayable: Prisma.Decimal;
            paidAmount: Prisma.Decimal;
        } | null;
        arrivalCustomPatti: {
            id: bigint;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            remarks: string | null;
            items: Prisma.JsonValue;
            purchaseId: bigint;
            settlementDate: Date | null;
            totalWeightSold: Prisma.Decimal;
            grossSalesTotal: Prisma.Decimal;
            commissionPercent: Prisma.Decimal;
            commissionAmount: Prisma.Decimal;
            freightDeducted: Prisma.Decimal;
            extraFreightDeducted: Prisma.Decimal;
            associationDeducted: Prisma.Decimal;
            unloadingDeducted: Prisma.Decimal;
            miscDeducted: Prisma.Decimal;
            totalDeductions: Prisma.Decimal;
            advanceAdjusted: Prisma.Decimal;
            netPayable: Prisma.Decimal;
            pattiNo: string | null;
        } | null;
        stockSpoilages: {
            reason: string | null;
            id: bigint;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            remarks: string | null;
            quantity: Prisma.Decimal;
            purchaseId: bigint;
            spoilageDate: Date;
        }[];
        retailStocks: ({
            retailSaleItems: ({
                retailSale: {
                    id: bigint;
                    invoiceNo: string;
                    walkInName: string | null;
                    invoiceDate: Date;
                };
            } & {
                id: bigint;
                total: Prisma.Decimal;
                createdAt: Date;
                updatedAt: Date;
                createdBy: bigint | null;
                bags: Prisma.Decimal | null;
                quantity: Prisma.Decimal;
                costPerUnit: Prisma.Decimal;
                saleUnit: import("../generated/prisma/index.js").$Enums.PurchaseUnit;
                sellingRate: Prisma.Decimal;
                retailStockId: bigint;
                retailSaleId: bigint;
            })[];
            retailStockSpoilages: {
                reason: string | null;
                id: bigint;
                createdAt: Date;
                updatedAt: Date;
                createdBy: bigint | null;
                remarks: string | null;
                quantity: Prisma.Decimal;
                spoilageDate: Date;
                retailStockId: bigint;
            }[];
        } & {
            id: bigint;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            deletedAt: Date | null;
            remarks: string | null;
            lotNo: string;
            bags: Prisma.Decimal | null;
            quantity: Prisma.Decimal;
            costPerUnit: Prisma.Decimal;
            remainingQuantity: Prisma.Decimal;
            remainingBags: Prisma.Decimal | null;
            purchaseId: bigint;
            allocatedUnit: import("../generated/prisma/index.js").$Enums.PurchaseUnit;
            allocatedQty: Prisma.Decimal;
            allocationDate: Date;
        })[];
        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;
    }>;
    updateArrival(id: bigint, data: any): Promise<{
        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;
    }>;
    deleteArrival(id: bigint): Promise<{
        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;
    }>;
}
//# sourceMappingURL=ArrivalService.d.ts.map