// Global AML & Sanctions Engine (GASE) - Type Definitions

export enum RiskTier {
  TIER_1 = 'TIER_1', // Low risk
  TIER_2 = 'TIER_2', // Medium risk
  TIER_3 = 'TIER_3', // High risk
  TIER_4 = 'TIER_4', // Critical risk
}

export interface SuspiciousActivityScore {
  transactionId: string;
  entityId: string;
  score: number; // 0-100
  factors: {
    sanctionsMatch: number;
    pepMatch: number;
    patternRisk: number;
    velocityAnomaly: number;
    geographicRisk: number;
  };
  riskTier: RiskTier;
  calculatedAt: Date;
}

export interface PEPGraphNode {
  id: string;
  entityId: string;
  entityName: string;
  pepType: string;
  country: string;
  position: string;
  riskLevel: 'LOW' | 'MEDIUM' | 'HIGH';
}

export interface PEPGraphEdge {
  id: string;
  fromNodeId: string;
  toNodeId: string;
  relationshipType: string;
  strength: number; // 0-1
}

export interface SanctionsMatch {
  entityName: string;
  matchScore: number; // 0-1
  listSource: string;
  listId: string;
  matchedFields: string[];
}

