import { PayrollService } from './payroll.service';
export declare class PayrollController {
    private service;
    constructor(service: PayrollService);
    list(month?: string, year?: string): Promise<({
        employee: {
            department: {
                id: number;
                name: string;
                code: string | null;
                description: string | null;
            } | null;
        } & {
            id: number;
            empNo: string;
            firstName: string;
            lastName: string;
            email: string | null;
            phone: string | null;
            nationalId: string | null;
            hireDate: Date | null;
            birthDate: Date | null;
            address: string | null;
            salary: number;
            departmentId: number | null;
            shiftId: number | null;
            status: string;
            createdAt: Date;
            updatedAt: Date;
        };
    } & {
        id: number;
        year: number;
        status: string;
        employeeId: number;
        month: number;
        baseSalary: number;
        workedDays: number;
        absentDays: number;
        overtimeHours: number;
        deductions: number;
        bonuses: number;
        netSalary: number;
    })[]>;
    calculate(employeeId: string, month: string, year: string): Promise<{
        employeeId: number;
        month: number;
        year: number;
        baseSalary: number;
        workedDays: number;
        absentDays: number;
        dailyRate: number;
        netSalary: number;
        deductions: number;
        bonuses: number;
    }>;
    generate(body: {
        month: number;
        year: number;
    }): Promise<{
        generated: number;
        results: {
            employeeId: number;
            action: string;
        }[];
    }>;
    approve(id: string): Promise<{
        id: number;
        year: number;
        status: string;
        employeeId: number;
        month: number;
        baseSalary: number;
        workedDays: number;
        absentDays: number;
        overtimeHours: number;
        deductions: number;
        bonuses: number;
        netSalary: number;
    }>;
    markPaid(id: string): Promise<{
        id: number;
        year: number;
        status: string;
        employeeId: number;
        month: number;
        baseSalary: number;
        workedDays: number;
        absentDays: number;
        overtimeHours: number;
        deductions: number;
        bonuses: number;
        netSalary: number;
    }>;
}
