export type GameNodeStatus =
  | 'ONLINE'
  | 'OFFLINE'
  | 'MAINTENANCE'
  | 'DRAINING'
  | 'UNREACHABLE';

export interface NodeSnapshot {
  id: string;
  status: GameNodeStatus;
  maxServers: number;
  maxRamMb: number;
  platformRamMb: number;
  activeServers: number;
  lastHeartbeatAt: Date | null;
  memoryTotalBytes?: number | null;
  memoryUsedBytes?: number | null;
  reservedRamMb: number;
  activeAllocationCount: number;
}

export interface NodeCapacity {
  schedulable: boolean;
  availableRamMb: number;
  availableSlots: number;
  score: number;
}
