import { Repository } from 'typeorm';
import { Attendance } from './attendance.entity';
import { User } from '../users/user.entity';
import { CheckInDto, CheckOutDto } from './dto/attendance.dto';
import { NotificationsService } from 'src/notifications/notifications.service';
import { PaginationQueryDto } from 'common/dto/pagination-query.dto';
export declare class AttendanceService {
    private attendanceRepository;
    private userRepository;
    private notificationsService;
    constructor(attendanceRepository: Repository<Attendance>, userRepository: Repository<User>, notificationsService: NotificationsService);
    checkIn(userId: number, checkInDto: CheckInDto): Promise<Attendance>;
    checkOut(userId: number, checkOutDto: CheckOutDto): Promise<Attendance>;
    getTodayAttendance(userId: number): Promise<Attendance[]>;
    getUserAttendance(userId: number, query: PaginationQueryDto): Promise<{
        data: Attendance[];
        total: number;
    }>;
    getAllAttendance(query: PaginationQueryDto): Promise<{
        data: Attendance[];
        total: number;
    }>;
    createBiometricAttendance(userId: number, timestamp: Date, type: string): Promise<Attendance | undefined>;
}
