export type MediaType = "cartridge" | "disc" | "handheld" | "arcade";

export type SystemId =
  | "nes"
  | "snes"
  | "gb"
  | "gbc"
  | "gba"
  | "genesis"
  | "n64"
  | "psx"
  | "arcade"
  | "nds"
  | "psp"
  | "sms"
  | "gg"
  | "saturn"
  | "segacd"
  | "atari2600"
  | "vb";

export interface SystemDef {
  id: SystemId;
  name: string;
  shortName: string;
  core: string;
  media: MediaType;
  extensions: string[];
  color: string;
}

export interface Game {
  slug: string;
  title: string;
  system: SystemId;
  description: string;
  author?: string;
  license?: string;
  sourceUrl?: string;
  rom: string;
  cover?: string;
  year?: number;
  featured?: boolean;
  legal: boolean;
}
