import { PrismaService } from '../prisma/prisma.service';
export declare class AttendanceService {
    private prisma;
    constructor(prisma: PrismaService);
    findByEmployee(employeeId: number, from?: Date, to?: Date): Promise<{
        id: number;
        punchTime: Date;
        employeeId: number;
        punchType: string;
        deviceId: number | null;
        source: string;
    }[]>;
    findByDateRange(from: Date, to: Date, employeeId?: number): Promise<({
        employee: {
            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;
        punchTime: Date;
        employeeId: number;
        punchType: string;
        deviceId: number | null;
        source: string;
    })[]>;
    createManual(data: {
        employeeId: number;
        punchTime: Date;
        punchType: string;
    }): Promise<{
        employee: {
            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;
        punchTime: Date;
        employeeId: number;
        punchType: string;
        deviceId: number | null;
        source: string;
    }>;
    getWorkedDays(employeeId: number, year: number, month: number): Promise<number>;
}
