export type PayrollStatus = "DRAFT" | "APPROVED" | "PAID"

export type PayrollItemType = "ADDITION" | "DEDUCTION"

export type PayrollItem = {
  id?: string
  type: PayrollItemType
  description: string
  amount: number
}

export type Payroll = {
  id: string
  employeeId: string
  month: number
  year: number
  workingDays: number
  daysWorked: number
  basicSalary: number
  totalAdditions: number
  totalDeductions: number
  netPayable: number
  notes?: string | null
  status: PayrollStatus
  approvedById?: string | null
  approvedAt?: Date | null
  createdAt: Date
  updatedAt: Date
  items: PayrollItem[]
  employee?: {
    id: string
    fullName: string
    email?: string | null
  } | null
  approvedBy?: {
    id: string
    name: string
  } | null
}

export type PayrollListItem = {
  id: string
  employeeId: string
  employeeName: string
  month: number
  year: number
  workingDays: number
  daysWorked: number
  basicSalary: number
  netPayable: number
  status: PayrollStatus
  createdAt: Date
}
