export type SymbolStatus = "inactive" | "active" | "paused" | "disabled";

export interface SymbolConfig {
  symbol: string;
  maxNotional: number;
  maxBase: number;
  enabled?: boolean;
  tags?: string[];
  metadata?: Record<string, unknown>;
}

export interface SymbolRuntimeState {
  config: SymbolConfig;
  status: SymbolStatus;
  updatedAt: number;
  reason?: string;
  allocation?: RiskAllocation;
  score?: number;
}

export interface RiskAllocation {
  notionalLimit: number;
  baseLimit: number;
}

export interface RiskBudget {
  totalNotional: number;
  totalBase: number;
}

export interface SymbolMetrics {
  spreadBps: number;
  topDepthUsd: number;
  volumePerMin: number;
  fundingCorrelation: number;
  dataLatencyMs?: number;
}
