import type { Merchant } from '@prisma/client';
import { PrismaService } from '../common/prisma.service';
import { MarcadeoService } from '../integrations/marcadeo.service';
import { ShopifyService } from '../integrations/shopify.service';
export interface NormalizedOrder {
    id: string;
    email: string | null;
    subtotal: number;
    total: number;
    discountCodes: string[];
    lineItems: {
        title: string;
        vendor: string;
        amount: number;
    }[];
    tags: string[];
    clickId?: string | null;
    isNewCustomer?: boolean;
}
export declare class OrderAttributionService {
    private prisma;
    private marcadeo;
    private shopify;
    private readonly log;
    constructor(prisma: PrismaService, marcadeo: MarcadeoService, shopify: ShopifyService);
    attribute(merchant: Merchant, o: NormalizedOrder): Promise<{
        status: 'attributed' | 'skipped';
        reason?: string;
    }>;
    private payMlmOverrides;
    reverse(merchant: Merchant, shopifyOrderId: string): Promise<{
        reversed: number;
    }>;
}
