export type AdmissionRegisterState = "draft" | "confirm" | "cancel" | "done";

export interface AdmissionRegister {
  id: number;
  name: string;
  course_id: number;
  course_name: string;
  start_date: string;
  end_date: string;
  min_count: number;
  max_count: number;
  application_count: number;
  state: AdmissionRegisterState;
}

export type AdmissionState = "draft" | "submit" | "confirm" | "admission" | "reject" | "cancel" | "done";

export interface Admission {
  id: number;
  name: string;
  application_number: string;
  register_id: number;
  register_name: string;
  course_id: number;
  course_name: string;
  batch_id?: number;
  batch_name?: string;
  first_name: string;
  middle_name?: string;
  last_name: string;
  email: string;
  phone?: string;
  birth_date?: string;
  gender: "m" | "f" | "o";
  nationality_id?: number;
  nationality_name?: string;
  state: AdmissionState;
  fees: number;
  image?: string;
  student_id?: number;
  created_at: string;
}

export interface AdmissionCreateRequest {
  register_id: number;
  first_name: string;
  middle_name?: string;
  last_name: string;
  email: string;
  phone?: string;
  birth_date?: string;
  gender: "m" | "f" | "o";
  nationality_id?: number;
}

export interface AdmissionRegisterCreateRequest {
  name: string;
  course_id: number;
  start_date: string;
  end_date: string;
  min_count?: number;
  max_count?: number;
}
