import type { League } from '../../domain/entities/League'; import type { Presenter } from '@gridpilot/shared/presentation'; export interface LeagueWithCapacityViewModel { id: string; name: string; description: string; ownerId: string; settings: { maxDrivers: number; sessionDuration?: number; visibility?: string; }; createdAt: string; socialLinks?: { discordUrl?: string; youtubeUrl?: string; websiteUrl?: string; }; usedSlots: number; } export interface AllLeaguesWithCapacityViewModel { leagues: LeagueWithCapacityViewModel[]; totalCount: number; } export interface AllLeaguesWithCapacityResultDTO { leagues: League[]; memberCounts: Map; } export interface IAllLeaguesWithCapacityPresenter extends Presenter {}