export interface Employee {
  id: number;
  organization_id: string;
  employee_code: string;
  full_name: string;
  email: string | null;
  company: string | null;
  department_id: number | null;
  department_name: string | null;
  position_id: number | null;
  position_name: string | null;
  hired_at: string | null;
  is_active: boolean;
  created_at: string;
  updated_at: string;
}

export interface EmployeeFilters {
  page?: number;
  limit?: number;
  search?: string;
  statuses?: string;
  sort?: string;
}

export interface EmployeesResponse {
  success: boolean;
  time: string;
  message: string;
  total_employees: number;
  offset: number;
  limit: number;
  employees: Employee[];
}

export interface EmployeeByIdResponse {
  success: boolean;
  time: string;
  message: string;
  employee: Employee;
}

export interface EmployeeMutationPayload {
  employeeCode: string;
  fullName: string;
  email?: string;
  departmentName?: string;
  positionName?: string;
  isActive: boolean;
}
