import { PayrollRun } from './PayrollRun';

export interface PayrollDashboardCurrentMonth {
  period: {
    year: number;
    month: number;
    label: string;
  };
  latest_run: PayrollRun | null;
  totals: {
    total_gross: number;
    total_deductions: number;
    total_net: number;
    total_employer_cost: number;
    employee_count: number;
  };
}

export interface PayrollDashboardBranchCount {
  branch_id: string | null;
  branch_name: string;
  employee_count: number;
}

export interface PayrollDashboardTrendRow {
  year: number;
  month: number;
  label: string;
  total_gross: number;
  total_net: number;
  total_employer_cost: number;
}

export interface PayrollDashboardData {
  current_month: PayrollDashboardCurrentMonth;
  pending_approvals_count: number;
  recent_runs: PayrollRun[];
  employee_count_by_branch: PayrollDashboardBranchCount[];
  monthly_payroll_cost_trend: PayrollDashboardTrendRow[];
  pending_salary_adjustments_count: number;
  active_loans: {
    count: number;
    total_balance: number;
  };
}
