import { ViewData } from "@/lib/contracts/view-data/ViewData"; export interface DriverProfileViewData extends ViewData { currentDriver: { id: string; name: string; country: string; avatarUrl: string; iracingId: number | null; joinedAt: string; joinedAtLabel: string; rating: number | null; ratingLabel: string; globalRank: number | null; globalRankLabel: string; consistency: number | null; bio: string | null; totalDrivers: number | null; } | null; stats: { totalRaces: number; totalRacesLabel: string; wins: number; winsLabel: string; podiums: number; podiumsLabel: string; dnfs: number; dnfsLabel: string; avgFinish: number | null; avgFinishLabel: string; bestFinish: number | null; bestFinishLabel: string; worstFinish: number | null; worstFinishLabel: string; finishRate: number | null; winRate: number | null; podiumRate: number | null; percentile: number | null; rating: number | null; ratingLabel: string; consistency: number | null; consistencyLabel: string; overallRank: number | null; } | null; finishDistribution: { totalRaces: number; wins: number; podiums: number; topTen: number; dnfs: number; other: number; } | null; teamMemberships: { teamId: string; teamName: string; teamTag: string | null; role: string; joinedAt: string; joinedAtLabel: string; isCurrent: boolean; }[]; socialSummary: { friendsCount: number; friends: { id: string; name: string; country: string; avatarUrl: string; }[]; }; extendedProfile: { socialHandles: { platform: string; handle: string; url: string; }[]; achievements: { id: string; title: string; description: string; icon: string; rarity: string; rarityLabel: string; earnedAt: string; earnedAtLabel: string; }[]; racingStyle: string; favoriteTrack: string; favoriteCar: string; timezone: string; availableHours: string; lookingForTeam: boolean; openToRequests: boolean; } | null; }