// Simplified type definitions export interface LinesChanged { added: number; removed: number; net: number; } export interface FileCommits { file: string; commits: number; } export interface HourActivity { hour: string; commits: number; } export interface DayActivity { day: string; commits: number; } export interface PRStats { opened: number; merged: number; } export interface MostCommentedPR { prNumber: number; comments: number; } export interface WrappedData { period: { start: string; end: string; }; repository: string; teamSummary: { totalCommits: number; linesAdded: number; linesDeleted: number; netChange: number; totalChanged: number; }; busiestMonths: Array<{ month: string; commits: number; }>; busiestDays: Array<{ date: string; commits: number; }>; commitsByDayOfWeek: Record; pullRequests: { totalPRs: PRStats; prsByAuthor: Record; mostCommentedPRByAuthor: Record; } | null; commitsByAuthor: Record; linesChangedByAuthor: Record; longestStreakByAuthor: Record; uniqueActiveDaysByAuthor: Record; topFilesByAuthor: Record; mostActiveHourByAuthor: Record; mostActiveDayByAuthor: Record; avgCommitMessageLength: Record; nightOwlCommits: Record; earlyBirdCommits: Record; fridayWarriorCommits: Record; weekendWarriorCommits: Record; } export interface Slide { title: string; content: string; emoji?: string; subtitle?: string; } export interface AuthorStats { name: string; commits: number; linesAdded: number; linesRemoved: number; netLines: number; activeDays: number; longestStreak: number; mostActiveHour?: string; mostActiveDay?: string; topFiles: FileCommits[]; prs?: PRStats; mostCommentedPR?: MostCommentedPR; avgCommitMessageLength: number; nightOwlCommits: number; earlyBirdCommits: number; fridayWarriorCommits: number; weekendWarriorCommits: number; badge: string; }