import { Member } from './memberService.type'; import { Teams } from './projectService.type'; import { JSONContent } from './timeline.type'; type PbiCategory = 'Fitur' | 'Bug' | 'Performance & Security' | 'Dokumentasi'; type PbiStatus = 'Backlog' | 'Overdue' | 'Reported Bug' | 'Sprint' | 'Pending Testing' | 'Selesai'; type Platform = 'Web' | 'Mobile'; type PbiMemberDetail = { sprintNumber: number; member: Pick; date: string; }; export type Pbi = { _id: string; name: string; sprint?: { _id: string; key: number; } | null; category: PbiCategory; status: PbiStatus; totalTask?: number; estimateDuration?: string; duration?: string; iteration?: number; editedBy: Pick & { imageUrl: string; }; createdBy: { _id: string; teams: Teams[]; }; createdAt: string; lastModified?: string; finishedAt?: string; description?: JSONContent; isMemberAssigned: boolean; platform: Platform; totalBug?: number; hasTimerStart?: boolean; canViewDetail?: boolean; timerEndDate?: string; memberDetails?: PbiMemberDetail[]; }; export type AssignedMember = Pick & { imageUrl: string; progress: string; team: string; tasks?: { _id: string; status: string; }[]; }; export interface AssignedMemberOptions { member?: boolean; team?: boolean; } export {};