import { Employee, ProjectTracking, TimeOff, TimeOffRequest, PerformanceReview, CompensationItem } from './models'; declare class BambooHRClient { private apiKey; private apiSecret; private baseUrl; constructor(apiKey: string, apiSecret: string); endPoint(path: string): string; readonly authHeader: string; private sendRequest; /** * Get a directory of employees * @see https://www.bamboohr.com/api/documentation/employees.php#getEmployeeDirectory */ getDirectory(): Promise; /** * Gets the project tracking for the employees. * If employeeId is specified, only this employee will be queried. * @param employeeId */ getProjectTracking(employeeId?: number): Promise; /** * Get an Employee Basic Info. * @see https://www.bamboohr.com/api/documentation/employees.php#getEmployee */ getEmployee(employeeId: number): Promise; /** * Fetch a list of employees given their ids. * @param employeeIds list of employee ids. */ getEmployees(employeeIds: number[]): Promise; /** * Get an Employee Basic Info and their project metadata. * @see https://www.bamboohr.com/api/documentation/employees.php#getEmployee */ getEmployeeInfo(employeeId: number): Promise; /** * Gets the project tracking for an employee. * @param employeeId * @deprecated Use getProjectTracking() instead. */ getProjectsInfo(employeeId: number): Promise; /** * Gets the company employee's directory, * and also fetch project info for each employee. * NOTE: due to restrictions on the api endpoint, this method schedules * the API calls in groups of 15 request every 500ms. * @deprecated use getDirectory() instead */ getCompleteEmployeeDirectory(): Promise; /** * Get the performance review data for all employees. */ getPerformanceReviews(): Promise; /** * Builds the employees index. * The index is an object containing the employee numbers (company assigned) as keys * and their Record Id (object identifier in BambooHR) as values. * This is useful to be able to query employees by their employee number. * * @deprecated Should not call this method. */ getEmployeeIndex(): Promise; /** * Get a list of who's out, including company holidays * @see https://www.bamboohr.com/api/documentation/time_off.php#getWhosOut * @param startDate Start date in format YYYY-MM-DD * @param endDate End date in format YYYY-MM-DD */ getWhosOut(startDate: string, endDate: string): Promise; /** * Get a list of employee time off requests. * @param employeeId * @param startDate * @param endDate * @see https://www.bamboohr.com/api/documentation/time_off.php#getRequests */ getEmployeeTimeOff(employeeId: number, startDate: string, endDate: string): Promise; /** * Get a list of the company's time off requests. * @see https://www.bamboohr.com/api/documentation/time_off.php#getRequests * @param startDate start date in YYYY-MM-DD format * @param endDate end date in YYYY-MM-DD format * @param type (optional) list of types to filter the requests */ getCompanyTimeOff(startDate: string, endDate: string, types?: string[]): Promise; /** * Get a list of holidays * @see https://www.bamboohr.com/api/documentation/time_off.php#getWhosOut * @param startDate Start date in format YYYY-MM-DD * @param endDate End date in format YYYY-MM-DD */ getCompanyHolidays(startDate: string, endDate: string): Promise; getCompensation(): Promise; } export { BambooHRClient };