/** * Domain Entity: LeagueMembership and JoinRequest * * Extracted from racing-application memberships module so that * membership-related types live in the racing-domain package. */ export type MembershipRole = 'owner' | 'admin' | 'steward' | 'member'; export type MembershipStatus = 'active' | 'pending' | 'none'; export interface LeagueMembership { leagueId: string; driverId: string; role: MembershipRole; status: MembershipStatus; joinedAt: Date; } export interface JoinRequest { id: string; leagueId: string; driverId: string; requestedAt: Date; message?: string; }