export interface SalaryAdjustment {
  id: string;
  employee_id: string | null;
  employee?: {
    employee_id: string;
    staff_id: string;
    firstname: string;
    lastname: string;
    full_name: string;
  } | null;
  salary_grade_id: string | null;
  salary_grade?: {
    id: string;
    name: string;
    code: string;
  } | null;
  adjustment_type: 'increment' | 'decrement' | 'percentage';
  amount: string | null;
  percentage: string | null;
  percentage_direction: 'increment' | 'decrement' | null;
  reason: string;
  effective_date: string;
  end_date: string | null;
  status: 'pending' | 'approved' | 'applied' | 'reversed';
  approved_by: string | null;
  approver?: {
    id: string;
    name: string;
  } | null;
  created_at: string;
  updated_at: string;
}

export interface CreateSalaryAdjustmentPayload {
  employee_id?: string;
  salary_grade_id?: string;
  adjustment_type: 'increment' | 'decrement' | 'percentage';
  amount?: number;
  percentage?: number;
  percentage_direction?: 'increment' | 'decrement';
  reason: string;
  effective_date: string;
  end_date?: string;
}

export interface UpdateSalaryAdjustmentPayload {
  id: string;
  employee_id?: string;
  salary_grade_id?: string;
  adjustment_type?: 'increment' | 'decrement' | 'percentage';
  amount?: number;
  percentage?: number;
  percentage_direction?: 'increment' | 'decrement';
  reason?: string;
  effective_date?: string;
  end_date?: string;
}

export interface DeleteSalaryAdjustmentPayload {
  message: string;
  id?: string;
}
