import { EmployeesService } from './employees.service';
export declare class EmployeesController {
    private service;
    constructor(service: EmployeesService);
    findAll(departmentId?: string, shiftId?: string, status?: string): Promise<({
        department: {
            id: number;
            name: string;
            code: string | null;
            description: string | null;
        } | null;
        shift: {
            id: number;
            name: string;
            startTime: string;
            endTime: string;
            breakMinutes: number;
            workDays: string;
        } | null;
    } & {
        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;
    })[]>;
    findById(id: string): Promise<{
        department: {
            id: number;
            name: string;
            code: string | null;
            description: string | null;
        } | null;
        shift: {
            id: number;
            name: string;
            startTime: string;
            endTime: string;
            breakMinutes: number;
            workDays: string;
        } | null;
        attendances: {
            id: number;
            punchTime: Date;
            employeeId: number;
            punchType: string;
            deviceId: number | null;
            source: string;
        }[];
    } & {
        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;
    }>;
    create(body: {
        empNo: string;
        firstName: string;
        lastName: string;
        email?: string;
        phone?: string;
        nationalId?: string;
        hireDate?: string;
        birthDate?: string;
        address?: string;
        salary?: number;
        departmentId?: number;
        shiftId?: number;
    }): Promise<{
        department: {
            id: number;
            name: string;
            code: string | null;
            description: string | null;
        } | null;
        shift: {
            id: number;
            name: string;
            startTime: string;
            endTime: string;
            breakMinutes: number;
            workDays: string;
        } | null;
    } & {
        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;
    }>;
    update(id: string, body: {
        empNo?: string;
        firstName?: string;
        lastName?: string;
        email?: string;
        phone?: string;
        nationalId?: string;
        hireDate?: string;
        birthDate?: string;
        address?: string;
        salary?: number;
        departmentId?: number;
        shiftId?: number;
        status?: string;
    }): Promise<{
        department: {
            id: number;
            name: string;
            code: string | null;
            description: string | null;
        } | null;
        shift: {
            id: number;
            name: string;
            startTime: string;
            endTime: string;
            breakMinutes: number;
            workDays: string;
        } | null;
    } & {
        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;
    }>;
    delete(id: string): Promise<{
        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;
    }>;
}
