export interface AcademicYear {
  id: number;
  name: string;
  start_date: string;
  end_date: string;
  term_structure: "two_sem" | "two_sem_qua" | "three_sem" | "four_Quarter" | "final_year" | "others";
  terms: AcademicTerm[];
}

export interface AcademicTerm {
  id: number;
  name: string;
  term_start_date: string;
  term_end_date: string;
  academic_year_id: number;
  academic_year_name: string;
  parent_term_id?: number;
  parent_term_name?: string;
}

export interface Department {
  id: number;
  name: string;
  code: string;
  parent_id?: number;
  parent_name?: string;
  course_count: number;
  faculty_count: number;
}

export interface AcademicYearCreateRequest {
  name: string;
  start_date: string;
  end_date: string;
  term_structure: AcademicYear["term_structure"];
}

export interface AcademicTermCreateRequest {
  name: string;
  term_start_date: string;
  term_end_date: string;
  academic_year_id: number;
  parent_term_id?: number;
}

export interface DepartmentCreateRequest {
  name: string;
  code: string;
  parent_id?: number;
}
