export interface TeamMember { uuid: string; firstName: string; lastName: string; teamId: string; email?: string; role?: string; joinDate?: string; } export interface TeamMemberSkill { skillId: string; skillName: string; category: string; level: "never" | "not-autonomous" | "autonomous" | "expert"; canMentor: boolean; wantsToLearn: boolean; } export interface TeamMemberProfile { member: TeamMember; skills: TeamMemberSkill[]; totalSkills: number; expertSkills: number; mentorSkills: number; learningSkills: number; averageLevel: number; } export interface SkillGap { skillId: string; skillName: string; category: string; icon?: string; teamMembers: number; experts: number; mentors: number; learners: number; coverage: number; // Pourcentage de couverture risk: "low" | "medium" | "high"; } export interface CategoryCoverage { category: string; totalSkills: number; coveredSkills: number; coverage: number; experts: number; mentors: number; learners: number; } export interface TeamReviewData { team: { id: string; name: string; direction: string; }; members: TeamMemberProfile[]; skillGaps: SkillGap[]; categoryCoverage: CategoryCoverage[]; recommendations: string[]; stats: { totalMembers: number; totalSkills: number; averageTeamLevel: number; mentorshipOpportunities: number; learningNeeds: number; }; } export interface MentorOpportunity { mentor: TeamMember; mentee: TeamMember; skill: string; category: string; mentorLevel: "autonomous" | "expert"; menteeLevel: "never" | "not-autonomous"; } export interface LearningPath { member: TeamMember; currentSkills: TeamMemberSkill[]; targetSkills: TeamMemberSkill[]; recommendedMentors: TeamMember[]; estimatedTimeToAutonomy: number; // en mois }