export interface Plan {
  id: string;
  name: string;
  description?: string;
  weight: number;
  timeline: string;
  status: "pending" | "in-progress" | "completed" | "overdue";
  progress: number;
}

export interface WeeklyTask {
  id: string;
  description: string;
  deadline: string;
  status: "pending" | "in-progress" | "completed";
  expectedOutcome: string;
}

export interface Employee {
  id: string;
  name: string;
  position: string;
  planCount: number;
  weeklyTasksCount: number;
  plans: Plan[];
  weeklyTasks: WeeklyTask[];
}

export interface TeamLead {
  id: string;
  name: string;
  planCount: number;
  progress: number;
  plans: Plan[];
  weeklyMilestones: string[];
  employees: Employee[];
}

export interface Directorate {
  id: string;
  name: string;
  planCount: number;
  progress: number;
  plans: Plan[];
  teamLeads: TeamLead[];
}

export interface Sector {
  id: string;
  name: string;
  plans: Plan[];
  directorates: Directorate[];
}

// View Data Interfaces
export interface DeputyData extends Sector {}
export interface DirectorData extends Directorate {}
export interface TeamLeaderData extends TeamLead {}
export interface EmployeeData extends Employee {}
