import { PrismaService } from '../common/prisma.service';
import { ShopifyService } from '../integrations/shopify.service';
export declare class CouponsController {
    private prisma;
    private shopify;
    constructor(prisma: PrismaService, shopify: ShopifyService);
    coupons(): Promise<{
        id: string;
        name: string;
        couponCode: string | null;
        discountType: string | null;
        discountValue: number | null;
        usageLimit: number | null;
        maxRedemptions: number | null;
        newCustomersOnly: boolean;
        minOrderValue: number | null;
        minCartQty: number | null;
        expiresAt: string | null;
        combines: Record<string, boolean>;
        personal: boolean;
        status: import("@prisma/client").$Enums.AffiliateStatus;
    }[]>;
    assignableAffiliates(): Promise<{
        id: string;
        name: string;
        email: string;
        hasCoupon: boolean;
    }[]>;
    createCoupon(body: Record<string, any>): Promise<{
        ok: boolean;
        couponCode: string;
        shopify: {
            pushed: boolean;
            error?: string;
        };
    }>;
    updateCoupon(id: string, body: Record<string, any>): Promise<{
        ok: boolean;
    }>;
    deleteCoupon(id: string): Promise<{
        ok: boolean;
    }>;
    getAutoCoupon(): Promise<{
        discountType: any;
        discountValue: any;
        singleUsePerCustomer: boolean;
        maxRedemptions: any;
        minOrderValue: any;
        newCustomersOnly: boolean;
        autoApplyDiscount: boolean;
        defaultCouponCode: string;
    }>;
    saveAutoCoupon(body: Record<string, any>): Promise<{
        ok: boolean;
    }>;
    bulkUpdateCoupons(body: Record<string, any>): Promise<{
        ok: boolean;
        message: string;
        updated?: undefined;
    } | {
        ok: boolean;
        updated: number;
        message?: undefined;
    }>;
}
