export interface EmployeeConfirmation {
  id: string;
  employee_id: string;
  action: 'confirmed' | 'extended';
  effective_date: string;
  old_staff_id?: string | null;
  new_staff_id?: string | null;
  old_salary_grade_id?: string | null;
  new_salary_grade_id?: string | null;
  old_salary_notch_id?: string | null;
  new_salary_notch_id?: string | null;
  old_confirmation_due_date?: string | null;
  new_confirmation_due_date?: string | null;
  extension_months?: number | null;
  reason?: string | null;
  remarks?: string | null;
  performed_by?: string | null;
  performed_by_user?: { user_id: string; name: string } | null;
  old_salary_grade?: { id: string; code: string; name: string } | null;
  new_salary_grade?: { id: string; code: string; name: string } | null;
  old_salary_notch?: { id: string; notch_position: number } | null;
  new_salary_notch?: { id: string; notch_position: number } | null;
  created_at: string;
}

export interface ConfirmationDashboardMetrics {
  due_within_30_days: number;
  overdue: number;
  on_probation: number;
}

export interface ConfirmEmployeePayload {
  employee_id: string;
  effective_date: string;
  new_staff_id?: string;
  salary_grade_id?: string;
  salary_notch_id?: string;
  reason?: string;
  remarks?: string;
}

export interface ExtendProbationPayload {
  employee_id: string;
  extension_months: number;
  reason: string;
  remarks?: string;
}
