/**
 * Host referral settings shape — transitional type for host CommissionPolicy impls.
 * Tier values live in the host (ADR-4); this type is exported for parity harnesses only.
 */

export type AdapterOverride = {
  enabled: boolean
  action?: 'pass' | 'flag' | 'hold' | 'block'
  params?: Record<string, unknown>
}

export type ReferralSettings = {
  affiliatePct: number
  /** Tier commission rates — % of SALE directly (WYSIWYG: 3 = "3% of purchase amount") */
  tier1Pct: number // default 3
  tier2Pct: number // default 4
  tier3Pct: number // default 5
  tier2MinSales: number // trailing-30-day purchase count to reach T2 (default 20)
  tier3MinSales: number // trailing-30-day purchase count to reach T3 (default 50)
  referralPct: number // % of sale → store credit for referrer (default 2)
  affiliateWindowDays: number
  affiliateMaxOrders: number
  cookieDays: number
  rewardAgorot: number
  refereeDiscountAgorot: number
  holdDays: number
  withdrawalMinAgorot: number
  autoApproveLifetimeAgorot: number
  brandKeywordBlocklist: string[]
  disallowedRefererHosts: string[]
  tosVersion: string
  disputeWindowDays: number
  reservePct: number
  reserveReleaseDays: number
  fraudConfig: Record<string, AdapterOverride>
}
