export * from './use-cases/JoinLeagueUseCase';
export * from './use-cases/RegisterForRaceUseCase';
export * from './use-cases/WithdrawFromRaceUseCase';
export * from './use-cases/IsDriverRegisteredForRaceUseCase';
export * from './use-cases/GetRaceRegistrationsUseCase';
export * from './use-cases/CreateTeamUseCase';
export * from './use-cases/JoinTeamUseCase';
export * from './use-cases/LeaveTeamUseCase';
export * from './use-cases/ApproveTeamJoinRequestUseCase';
export * from './use-cases/RejectTeamJoinRequestUseCase';
export * from './use-cases/UpdateTeamUseCase';
export * from './use-cases/GetAllTeamsUseCase';
export * from './use-cases/GetTeamDetailsUseCase';
export * from './use-cases/GetTeamMembersUseCase';
export * from './use-cases/GetTeamJoinRequestsUseCase';
export * from './use-cases/GetDriverTeamUseCase';
export * from './use-cases/GetLeagueStandingsUseCase';
export * from './use-cases/GetLeagueDriverSeasonStatsUseCase';
export * from './use-cases/GetAllLeaguesWithCapacityUseCase';
export * from './use-cases/GetAllLeaguesWithCapacityAndScoringUseCase';
export * from './use-cases/GetAllRacesUseCase';
export * from './use-cases/GetAllRacesPageDataUseCase';
export * from './use-cases/GetTotalRacesUseCase';
export * from './use-cases/ImportRaceResultsApiUseCase';
export * from './use-cases/ListLeagueScoringPresetsUseCase';
export * from './use-cases/GetLeagueScoringConfigUseCase';
export * from './use-cases/RecalculateChampionshipStandingsUseCase';
export * from './use-cases/CreateLeagueWithSeasonAndScoringUseCase';
export * from './use-cases/GetLeagueFullConfigUseCase';
export * from './use-cases/PreviewLeagueScheduleUseCase';
export * from './use-cases/GetRaceWithSOFUseCase';
export * from './use-cases/GetLeagueStatsUseCase';
export * from './use-cases/FileProtestUseCase';
export * from './use-cases/ReviewProtestUseCase';
export * from './use-cases/ApplyPenaltyUseCase';
export * from './use-cases/QuickPenaltyUseCase';
export * from './use-cases/GetRaceProtestsUseCase';
export * from './use-cases/GetRacePenaltiesUseCase';
export * from './use-cases/RequestProtestDefenseUseCase';
export * from './use-cases/SubmitProtestDefenseUseCase';
export * from './use-cases/GetSponsorDashboardUseCase';
export * from './use-cases/GetSponsorSponsorshipsUseCase';
export * from './use-cases/ApplyForSponsorshipUseCase';
export * from './use-cases/AcceptSponsorshipRequestUseCase';
export * from './use-cases/RejectSponsorshipRequestUseCase';
export * from './use-cases/GetPendingSponsorshipRequestsUseCase';
export * from './use-cases/GetEntitySponsorshipPricingUseCase';
export * from './ports/LeagueScoringPresetProvider';

// Team Rating Queries
export * from './queries/index';

// Team Rating DTOs
export type { TeamRatingSummaryDto, TeamRatingDimension } from './dtos/TeamRatingSummaryDto';
export type { TeamLedgerEntryDto, TeamLedgerFilter, PaginatedTeamLedgerResult } from './dtos/TeamLedgerEntryDto';

 // Re-export domain types for legacy callers (type-only)
 export type {
   LeagueMembership,
   MembershipRole,
   MembershipStatus,
   JoinRequest,
 } from '../domain/entities/LeagueMembership';

export type { RaceRegistration } from '../domain/entities/RaceRegistration';

export type { Team } from '../domain/entities/Team';
export type {
  TeamMembership,
  TeamJoinRequest,
  TeamRole,
  TeamMembershipStatus,
} from '../domain/types/TeamMembership';
