// Autonomous Liquidity Provision System (ALPS) - Type Definitions

export enum LiquidityActionType {
  INJECTION = 'INJECTION',
  WITHDRAWAL = 'WITHDRAWAL',
}

export interface AutonomousLiquidityAction {
  id: string;
  actionId: string;
  actionType: LiquidityActionType;
  sovereignBankId: string;
  amount: number;
  currencyCode?: string;
  triggerReason: string;
  executedAt: Date;
  status: 'PENDING' | 'EXECUTED' | 'FAILED';
}

export interface LiquidityStressEvent {
  id: string;
  eventId: string;
  sovereignBankId: string;
  predictedAt: Date;
  predictedStressDate: Date;
  stressLevel: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
  predictedLiquidityRatio: number;
  confidence: number; // 0-1
  status: 'PREDICTED' | 'OCCURRED' | 'MITIGATED' | 'FALSE_POSITIVE';
}

export interface SovereignLiquidityRatio {
  sovereignBankId: string;
  ratio: number; // SXLR
  calculatedAt: Date;
  riskFactors: string[];
}

