import { PayrollService } from "./payroll.service";
import { CreatePayrollCycleDto } from "./dto/create-payroll-cycle.dto";
import { UpdatePayrollCycleDto } from "./dto/update-payroll-cycle.dto";
import { ProcessPayrollDto, EmployeeSalarySlipsDto } from "./dto/process-payroll.dto";
import { PayrollFiltersDto } from "./dto/payroll-filters.dto";
import { ProcessPayrollFiltersDto } from "./dto/process-payroll-filters.dto";
import { Response } from "express";
export declare class PayrollController {
    private readonly payrollService;
    constructor(payrollService: PayrollService);
    createPayrollCycle(createPayrollCycleDto: CreatePayrollCycleDto, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    findAllPayrollCycles(query: PayrollFiltersDto, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    findOnePayrollCycle(id: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    updatePayrollCycle(id: string, updatePayrollCycleDto: UpdatePayrollCycleDto, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    removePayrollCycle(id: string, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    processPayroll(processPayrollDto: ProcessPayrollDto, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    getProcessPayrollData(id: string, query: ProcessPayrollFiltersDto, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    finalizePayroll(id: string, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    updatePayrollAttendance(id: string, body: {
        employee_id?: number;
        payroll_cycle_id?: number;
        working_days?: number;
        present_days?: number;
        paid_leaves?: number;
        unpaid_leaves?: number;
    }, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    getSalarySlip(payrollEntryId: string, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    getEmployeeSalarySlips(query: EmployeeSalarySlipsDto, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    exportSalarySlipPDF(payrollEntryId: string, request: Request, res: Response): Promise<any>;
    exportPayrollEntries(payrollCycleId: string, request: Request, res: Response): Promise<any>;
}
