import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { TenantConnectionService } from '@/modules/tenant/tenant-connection.service';
import { Request } from 'express';
import { AttendanceRequest } from '../entities/attendance-request.entity';
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 AttendanceRequestsService extends BaseTenantService<AttendanceRequest> {
    protected tenantConnectionService: TenantConnectionService;
    protected entity: typeof AttendanceRequest;
    constructor(tenantConnectionService: TenantConnectionService);
    createItem(dto: CreateAttendanceRequestDto): Promise<AttendanceRequest>;
    getList(page: number | undefined, limit: number | undefined, req: Request, query?: AttendanceRequestListDto, isSuperAdmin?: boolean, currentUserId?: number): Promise<import("../../../common/interfaces/pagination-result.interface").PaginationResult<AttendanceRequest>>;
    findOne(id: number, relations?: string[]): Promise<AttendanceRequest>;
    updateItem(id: number, dto: UpdateAttendanceRequestDto): Promise<AttendanceRequest>;
    removeItem(id: number): Promise<{
        message: string;
    }>;
    approve(id: number, approvedBy: number): Promise<AttendanceRequest>;
    reject(id: number, approvedBy: number): Promise<AttendanceRequest>;
}
