import { PrismaService } from '../common/prisma.service';
import { ShopifyService } from '../integrations/shopify.service';
export declare class PayoutsController {
    private prisma;
    private shopify;
    constructor(prisma: PrismaService, shopify: ShopifyService);
    payouts(): Promise<{
        minPayout: number;
        owed: {
            balance: number;
            name: string;
            id: string;
            email: string;
        }[];
        requests: {
            id: string;
            affiliate: string;
            amount: number;
            date: string;
        }[];
        totalPaid: number;
        methodBreakdown: {
            method: string;
            count: number;
            amount: number;
        }[];
        history: {
            id: string;
            affiliate: string;
            amount: number;
            method: import("@prisma/client").$Enums.PayoutMethod;
            reference: string | null;
            date: string;
        }[];
    }>;
    payoutInvoice(id: string): Promise<{
        invoiceNumber: string;
        date: string;
        program: string;
        shop: string;
        affiliate: string;
        email: string;
        amount: number;
        method: import("@prisma/client").$Enums.PayoutMethod;
        reference: string | null;
        status: import("@prisma/client").$Enums.PayoutStatus;
    } | null>;
    markPaid(id: string): Promise<{
        ok: boolean;
        message?: undefined;
        paid?: undefined;
        method?: undefined;
        reference?: undefined;
    } | {
        ok: boolean;
        message: string;
        paid?: undefined;
        method?: undefined;
        reference?: undefined;
    } | {
        ok: boolean;
        paid: number;
        method: "MANUAL" | "PAYPAL" | "STORE_CREDIT";
        reference: string | null;
        message?: undefined;
    }>;
    getPaymentSettings(): Promise<{
        payoutMethods: string[];
        minPayout: number;
    }>;
    savePaymentSettings(body: {
        payoutMethods?: string[];
        minPayout?: number;
    }): Promise<{
        ok: boolean;
    }>;
}
