import { PrismaService } from '../common/prisma.service';
import { MarcadeoProvisioning } from '../integrations/marcadeo-provisioning.service';
export declare class SettingsController {
    private prisma;
    private marcadeo;
    constructor(prisma: PrismaService, marcadeo: MarcadeoProvisioning);
    getSettings(): Promise<{
        programName: string | null;
        autoApprove: boolean;
        cookieDays: number;
        attribution: import("@prisma/client").$Enums.AttributionRule;
        commissionBase: import("@prisma/client").$Enums.CommissionBase;
        defaultCommissionType: import("@prisma/client").$Enums.CommissionType;
        defaultCommissionValue: number;
        minPayout: number;
        commissionNewCustomersOnly: boolean;
        excludeSelfPurchase: boolean;
        recordNilSales: boolean;
        verifySalesAutomatically: boolean;
        commissionHoldDays: number;
        postCheckoutEnabled: boolean;
        postCheckoutHeading: string;
        postCheckoutText: string;
        postCheckoutButton: string;
        customerAffiliateConnect: boolean;
        mlmEnabled: boolean;
        mlmLevels: string;
        timezone: string;
        removeTrackingAfterOrder: boolean;
        recaptchaEnabled: boolean;
        recaptchaSiteKey: string;
        recaptchaSecret: string;
        payoutScheduleEnabled: boolean;
        payoutScheduleDay: number;
    }>;
    saveSettings(body: Record<string, any>): Promise<{
        ok: boolean;
    }>;
    getS2s(): Promise<{
        postbackUrl: string;
        ips: Array<{
            id: number;
            ip_address: string;
            type: string;
            is_active: boolean;
        }>;
    }>;
    addS2sIp(body: {
        ip?: string;
        type?: 'SINGLE' | 'CIDR';
    }): Promise<{
        ok: boolean;
    }>;
    removeS2sIp(id: string): Promise<{
        ok: boolean;
    }>;
    getBranding(): Promise<{
        logoUrl: string | null;
        brandColor: string | null;
        brandSecondaryColor: string | null;
        portalSubdomain: string | null;
        termsText: string | null;
    }>;
    saveBranding(body: Record<string, any>): Promise<{
        ok: boolean;
    }>;
    getNotifications(): Promise<any>;
    saveNotifications(body: Record<string, boolean>): Promise<{
        ok: boolean;
    }>;
    signupFields(): Promise<{
        id: string;
        label: string;
        type: string;
        required: boolean;
        sortOrder: number;
    }[]>;
    createSignupField(body: Record<string, any>): Promise<{
        ok: boolean;
        id: string;
    }>;
    deleteSignupField(id: string): Promise<{
        ok: boolean;
    }>;
    signupDefaults(): Promise<{
        [x: string]: any;
    }>;
    saveSignupDefaults(body: Record<string, any>): Promise<{
        ok: boolean;
    }>;
}
