import { Prisma } from '../generated/prisma/client.js';
interface CreateSaleReturnInput {
    quantity: Prisma.Decimal;
    returnDate: Date;
    reason?: string;
    remarks?: string;
    createdBy?: bigint;
}
interface ListSaleReturnsFilters {
    purchaseId?: bigint;
    customerId?: bigint;
    vegetableId?: bigint;
    from?: Date;
    to?: Date;
    isWalkIn?: boolean;
}
export declare class SaleReturnService {
    static createSaleReturn(saleItemId: bigint, input: CreateSaleReturnInput): Promise<{
        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;
    }>;
    static listSaleReturns(filters: ListSaleReturnsFilters): 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;
            };
        } & {
            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;
        };
        saleItem: {
            sale: {
                customer: {
                    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;
            } & {
                id: bigint;
                createdAt: Date;
                updatedAt: Date;
                createdBy: bigint | null;
                deletedAt: Date | null;
                remarks: string | null;
                isWhatsappMessageSent: boolean;
                grandTotal: Prisma.Decimal;
                balanceAmount: Prisma.Decimal;
                invoiceNo: string;
                customerId: bigint | null;
                walkInName: string | null;
                walkInMobile: string | null;
                invoiceDate: Date;
                subTotal: Prisma.Decimal;
                discount: Prisma.Decimal;
                freightCharge: Prisma.Decimal;
                receivedAmount: Prisma.Decimal;
                cashAmount: Prisma.Decimal;
                upiAmount: Prisma.Decimal;
                bankAmount: Prisma.Decimal;
                paymentStatus: import("../generated/prisma/index.js").$Enums.SalePaymentStatus;
                images: Prisma.JsonValue | null;
                invoiceDownloadToken: string;
            };
        } & {
            id: bigint;
            total: Prisma.Decimal;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            bags: Prisma.Decimal | null;
            quantity: Prisma.Decimal;
            costPerUnit: Prisma.Decimal;
            saleId: bigint;
            purchaseId: bigint;
            saleUnit: import("../generated/prisma/index.js").$Enums.PurchaseUnit;
            sellingRate: Prisma.Decimal;
        };
    } & {
        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;
    })[]>;
}
export {};
//# sourceMappingURL=SaleReturnService.d.ts.map