import { PrismaService } from '../prisma/prisma.service';
export declare class CouponsService {
    private prisma;
    constructor(prisma: PrismaService);
    create(data: any): import(".prisma/client").Prisma.Prisma__CouponClient<{
        id: string;
        createdAt: Date;
        isActive: boolean;
        code: string;
        discountType: string;
        discountValue: number;
        minOrderAmount: number | null;
        maxDiscount: number | null;
        usageLimit: number | null;
        usageCount: number;
        validFrom: Date | null;
        validUntil: Date | null;
    }, never, import("@prisma/client/runtime/library").DefaultArgs>;
    findAll(): import(".prisma/client").Prisma.PrismaPromise<{
        id: string;
        createdAt: Date;
        isActive: boolean;
        code: string;
        discountType: string;
        discountValue: number;
        minOrderAmount: number | null;
        maxDiscount: number | null;
        usageLimit: number | null;
        usageCount: number;
        validFrom: Date | null;
        validUntil: Date | null;
    }[]>;
    validateCoupon(code: string, cartTotal: number): Promise<{
        valid: boolean;
        discount: number;
        couponId: string;
    }>;
    incrementUsage(id: string): Promise<{
        id: string;
        createdAt: Date;
        isActive: boolean;
        code: string;
        discountType: string;
        discountValue: number;
        minOrderAmount: number | null;
        maxDiscount: number | null;
        usageLimit: number | null;
        usageCount: number;
        validFrom: Date | null;
        validUntil: Date | null;
    }>;
    remove(id: string): import(".prisma/client").Prisma.Prisma__CouponClient<{
        id: string;
        createdAt: Date;
        isActive: boolean;
        code: string;
        discountType: string;
        discountValue: number;
        minOrderAmount: number | null;
        maxDiscount: number | null;
        usageLimit: number | null;
        usageCount: number;
        validFrom: Date | null;
        validUntil: Date | null;
    }, never, import("@prisma/client/runtime/library").DefaultArgs>;
}
