import type { Request } from 'express';
import { AttendanceRequestsService } from './attendance.requests.service';
import { CreateAttendanceRequestDto } from '../dto/requests/create.attendance.request.dto';
import { AttendanceRequestListDto } from '../dto/requests/list.attendance.request.dto';
import { UpdateAttendanceRequestDto } from '../dto/requests/update.attendance.request.dto';
export declare class AttendanceRequestsController {
    private readonly attendanceRequestsService;
    constructor(attendanceRequestsService: AttendanceRequestsService);
    create(dto: CreateAttendanceRequestDto): Promise<import("../entities/attendance-request.entity").AttendanceRequest>;
    findAll(query: AttendanceRequestListDto, req: Request, isSuperAdmin: boolean, currentUserId: number): Promise<import("../../../common/interfaces/pagination-result.interface").PaginationResult<import("../entities/attendance-request.entity").AttendanceRequest>>;
    findOne(id: string): Promise<import("../entities/attendance-request.entity").AttendanceRequest>;
    update(id: string, dto: UpdateAttendanceRequestDto): Promise<import("../entities/attendance-request.entity").AttendanceRequest>;
    remove(id: string): Promise<{
        message: string;
    }>;
    approve(id: string, currentUserId: number): Promise<import("../entities/attendance-request.entity").AttendanceRequest>;
    reject(id: string, currentUserId: number): Promise<import("../entities/attendance-request.entity").AttendanceRequest>;
}
