export interface Course {
  id: number;
  organization_id: string;
  course_code: string | null;
  name: string;
  category: string;
  organizer: string | null;
  standard_hours: number;
  certificate_validity_months: number | null;
  is_required: boolean;
  certificate_required: boolean;
  training_cost: number | null;
  description: string | null;
  is_active: boolean;
  created_at: string;
  updated_at: string;
}

export interface CourseFilters {
  page?: number;
  limit?: number;
  search?: string;
  category?: string;
  status?: string;
  sort?: string;
}

export interface CoursesResponse {
  success: boolean;
  time: string;
  message: string;
  total_courses: number;
  offset: number;
  limit: number;
  courses: Course[];
}

export interface CourseByIdResponse {
  success: boolean;
  time: string;
  message: string;
  course: Course;
}

export interface CourseMutationPayload {
  courseCode?: string;
  name: string;
  category: string;
  organizer?: string;
  standardHours: number;
  certificateValidityMonths?: number;
  isRequired: boolean;
  trainingCost?: number;
  description?: string;
  isActive: boolean;
}
