export interface Addon {
  id: string;
  name: string;
  slug: string;
  summary: string;
  description: string;
  iconUrl: string | null;
  category: string;
  published: boolean;
  totalDownloads: number;
  createdAt: Date;
  updatedAt: Date;
  releases?: Release[];
  screenshots?: Screenshot[];
}

export interface Release {
  id: string;
  addonId: string;
  version: string;
  changelog: string;
  downloadType: "local" | "url";
  filePath: string | null;
  externalUrl: string | null;
  gameVersion: string;
  downloadCount: number;
  isLatest: boolean;
  createdAt: Date;
  addon?: Addon;
}

export interface Screenshot {
  id: string;
  addonId: string;
  imageUrl: string;
  sortOrder: number;
}

export interface AdminUser {
  id: string;
  username: string;
}
