export enum LeaveType {
  ANNUAL = 'ANNUAL',
  SICK = 'SICK',
  UNPAID = 'UNPAID',
  CRITICAL = 'CRITICAL',
}

export enum LeaveStatus {
  PENDING = 'PENDING',
  APPROVED = 'APPROVED',
  REJECTED = 'REJECTED',
  CANCELLED = 'CANCELLED',
}

export interface LeaveRequest {
  id: string;
  userId: number;
  user?: {
    id: number;
    name: string;
    email: string;
    avatar?: string;
    department?: string;
  };
  leaveType: LeaveType;
  startDate: string;
  endDate: string;
  reason?: string;
  status: LeaveStatus;
  createdAt: string;
  updatedAt: string;
}

export interface LeaveBalance {
  id: number;
  userId: number;
  leaveType: LeaveType;
  balance: number;
  used: number;
  totalAllocated: number;
  year: number;
  createdAt: string;
  updatedAt: string;
}
