import { Prisma } from "../generated/prisma/client.js";
export declare class QuotationRepository {
    create(data: {
        quotationNo: string;
        customerId?: bigint | null;
        customerName: string;
        quotationDate: Date;
        amount: Prisma.Decimal;
        extraCharge: Prisma.Decimal;
        discount: Prisma.Decimal;
        totalAmount: Prisma.Decimal;
        createdBy?: bigint | null;
        items: {
            vegetableId?: bigint | null;
            vegName: string;
            hsnCode?: string;
            quantity: Prisma.Decimal;
            unit: string;
            price: Prisma.Decimal;
            amount: Prisma.Decimal;
            createdBy?: bigint | null;
        }[];
    }): Promise<{
        customer: {
            name: string;
            id: bigint;
        } | null;
        items: ({
            vegetable: {
                name: string;
                id: bigint;
            } | null;
        } & {
            unit: string;
            id: bigint;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            hsnCode: string | null;
            amount: Prisma.Decimal;
            vegetableId: bigint | null;
            quantity: Prisma.Decimal;
            quotationId: bigint;
            vegName: string;
            price: Prisma.Decimal;
        })[];
    } & {
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        amount: Prisma.Decimal;
        customerId: bigint | null;
        discount: Prisma.Decimal;
        quotationNo: string;
        customerName: string;
        quotationDate: Date;
        extraCharge: Prisma.Decimal;
        totalAmount: Prisma.Decimal;
    }>;
    update(id: bigint, data: {
        customerId?: bigint | null;
        customerName: string;
        quotationDate: Date;
        amount: Prisma.Decimal;
        extraCharge: Prisma.Decimal;
        discount: Prisma.Decimal;
        totalAmount: Prisma.Decimal;
        items: {
            vegetableId?: bigint | null;
            vegName: string;
            hsnCode?: string;
            quantity: Prisma.Decimal;
            unit: string;
            price: Prisma.Decimal;
            amount: Prisma.Decimal;
        }[];
    }): Promise<{
        customer: {
            name: string;
            id: bigint;
        } | null;
        items: ({
            vegetable: {
                name: string;
                id: bigint;
            } | null;
        } & {
            unit: string;
            id: bigint;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            hsnCode: string | null;
            amount: Prisma.Decimal;
            vegetableId: bigint | null;
            quantity: Prisma.Decimal;
            quotationId: bigint;
            vegName: string;
            price: Prisma.Decimal;
        })[];
    } & {
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        amount: Prisma.Decimal;
        customerId: bigint | null;
        discount: Prisma.Decimal;
        quotationNo: string;
        customerName: string;
        quotationDate: Date;
        extraCharge: Prisma.Decimal;
        totalAmount: Prisma.Decimal;
    }>;
    findAll(skip: number, take: number, search?: string, dateFrom?: Date, dateTo?: Date): Promise<{
        items: ({
            customer: {
                name: string;
                id: bigint;
            } | null;
            items: ({
                vegetable: {
                    name: string;
                    id: bigint;
                } | null;
            } & {
                unit: string;
                id: bigint;
                createdAt: Date;
                updatedAt: Date;
                createdBy: bigint | null;
                hsnCode: string | null;
                amount: Prisma.Decimal;
                vegetableId: bigint | null;
                quantity: Prisma.Decimal;
                quotationId: bigint;
                vegName: string;
                price: Prisma.Decimal;
            })[];
        } & {
            id: bigint;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            amount: Prisma.Decimal;
            customerId: bigint | null;
            discount: Prisma.Decimal;
            quotationNo: string;
            customerName: string;
            quotationDate: Date;
            extraCharge: Prisma.Decimal;
            totalAmount: Prisma.Decimal;
        })[];
        total: number;
    }>;
    findById(id: bigint): Promise<({
        customer: {
            name: string;
            id: bigint;
        } | null;
        items: ({
            vegetable: {
                name: string;
                id: bigint;
            } | null;
        } & {
            unit: string;
            id: bigint;
            createdAt: Date;
            updatedAt: Date;
            createdBy: bigint | null;
            hsnCode: string | null;
            amount: Prisma.Decimal;
            vegetableId: bigint | null;
            quantity: Prisma.Decimal;
            quotationId: bigint;
            vegName: string;
            price: Prisma.Decimal;
        })[];
    } & {
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        amount: Prisma.Decimal;
        customerId: bigint | null;
        discount: Prisma.Decimal;
        quotationNo: string;
        customerName: string;
        quotationDate: Date;
        extraCharge: Prisma.Decimal;
        totalAmount: Prisma.Decimal;
    }) | null>;
    delete(id: bigint): Promise<{
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        amount: Prisma.Decimal;
        customerId: bigint | null;
        discount: Prisma.Decimal;
        quotationNo: string;
        customerName: string;
        quotationDate: Date;
        extraCharge: Prisma.Decimal;
        totalAmount: Prisma.Decimal;
    }>;
    findMaxId(): Promise<number>;
    findByQuotationNo(quotationNo: string): Promise<{
        id: bigint;
        createdAt: Date;
        updatedAt: Date;
        createdBy: bigint | null;
        amount: Prisma.Decimal;
        customerId: bigint | null;
        discount: Prisma.Decimal;
        quotationNo: string;
        customerName: string;
        quotationDate: Date;
        extraCharge: Prisma.Decimal;
        totalAmount: Prisma.Decimal;
    } | null>;
}
//# sourceMappingURL=QuotationRepository.d.ts.map