import type { Projects } from '../../common/azureDevOps'; export interface IPartialPRStats { prMetrics: IPRMetrics | null; publishedDate: null | string; reviewers: IReviewerStat[]; } export interface IPRMetrics { category: string; product: number; test: number; total: number; slaDate: Date | null; } export interface IPRStats extends IPartialPRStats { closedDate: string; creationDate: string; id: number; title: string; url: string; targetBranch: string; } export interface IPRStatsResult { closedDate: string; creationDate: string; category: string; reviewers: IReviewerStatResult[]; slaDate: string | null; slaDays: number | null; id: number; title: string; url: string; targetBranch: string; project: Projects; } export type IClosedPRResult = IPRStatsResult[]; export interface IReviewerStatResult { author: string; date: string; slaDays: number | null; vote: IPRVoteCategory; } export interface IReviewerStat { author: string; date: string; email: string; vote: IPRVoteCategory; } export type IPRVoteCategory = 'approved' | 'approved-with-suggestions' | 'no-vote' | 'rejected' | 'waiting-for-author'; export type DayOfWeek = 0 | 1 | 2 | 3 | 4 | 5 | 6; export interface IAwayDev { name: string; dayOfWeek: DayOfWeek[]; }