import { IEmployee, IEmployeeCreateInput, IPagination } from '@metad/contracts'; import { Repository } from 'typeorm'; import { TenantAwareCrudService } from './../core/crud'; import { EmployeePublicDTO } from './dto/public.dto'; import { Employee } from './employee.entity'; export declare class EmployeeService extends TenantAwareCrudService { protected readonly employeeRepository: Repository; constructor(employeeRepository: Repository); createBulk(input: IEmployeeCreateInput[]): Promise; findAllActive(): Promise; /** * Find the employees working in the organization for a particular month. * An employee is considered to be 'working' if: * 1. The startedWorkOn date is (not null and) less than the last day forMonth * 2. The endWork date is either null or greater than the first day forMonth * @param organizationId The organization id of the employees to find * @param tenantId The tenant id of the employees to find * @param forMonth Only the month & year is considered */ findWorkingEmployees(organizationId: string, forMonth: Date, withUser: boolean): Promise>; /** * Find the counts of employees working in the organization for a particular month. * An employee is considered to be 'working' if: * 1. The startedWorkOn date is (not null and) less than the last day forMonth * 2. The endWork date is either null or greater than the first day forMonth * @param organizationId The organization id of the employees to find * @param tenantId The tenant id of the employees to find * @param forMonth Only the month & year is considered */ findWorkingEmployeesCount(organizationId: string, forMonth: Date, withUser: boolean): Promise<{ total: number; }>; findWithoutTenant(id: string, relations?: string[]): Promise; search(text: string): Promise<{ items: EmployeePublicDTO[]; total: number; }>; }