export interface GameState {
  totalClicks: number;
  users: Record<string, { name: string; clicks: number; lastSeen: number; bonusMultiplier: number }>; // Added bonusMultiplier
  upgrades: Record<string, { owned: number; cost: number }>;
  milestones: Record<string, boolean>;
  clickMultiplier: number;
  autoClickRate: number;
  currentBackground: string;
  currentClickImage: string;
}

export interface Upgrade {
  id: string;
  name: string;
  description: string;
  baseCost: number;
  multiplier: number;
  clickBonus?: number;
  autoClickRate?: number;
  clickMultiplierBonus?: number; // New: for compounding click boosts from mascots
  icon: string;
  mascotTiers?: MascotTier[]; // New: for defining mascot tiers for friendBoost
  oneTime?: boolean; // New: Indicates if the upgrade is a one-time purchase
  newsTitles?: string[]; // New: Array of news titles for the news upgrade
}

export interface MascotTier {
  level: number;
  imageSrc: string;
  multiplier: number;
  rarity: number; // 0 to 1, 1 being most common
}

export interface ClickableMascot { // Renamed from Shoominion
  id: string;
  x: number;
  y: number;
  multiplierBonus: number; // The multiplier this specific mascot provides
  imageSrc: string; // New: Source for the mascot image
}

export interface Milestone {
  threshold: number;
  id: string;
  name: string;
  description: string;
  background: string;
  image: string;
  reward: string;
}
