import Timedoctor from "./Timedoctor"; export declare type AbsentLateQuery = { userId?: string | number; offset?: number; limit?: number; start_date?: string; end_date?: string; }; export declare type AbsentLateReason = { text: string; }; export declare type AbsentLateSchedule = { shiftStartsTs: number; mustBeCompletedByTs: number; minimumHours: string; minimumHoursSec: number; actualStart: string; hoursWorked: string; status: string; futureStatus: string; reason: string; reasonOther: string; icon: string; isFutureDate: 0 | 1; isChecked: boolean; isLate: boolean; monitorLateStatus: 0 | 1; actualEndTimeStamp: number; actualEndTime: string; actualStartAttendance: string; shiftEndTime: string; hoursWorkedInt: number; secondsWorked: number; currentShift: 0 | 1; shiftStarts: string; shiftStartDate: string; shiftStartTime: string; mustBeCompletedBy: string; shiftLength: string; shiftBreakTime: string; shiftBreakTimeInt: number; fullName: string; }; export declare type AbsentLateResponse = { fullname: string; schedules: AbsentLateSchedule[]; reasons: AbsentLateReason[]; }; export declare type AbsentLatePutParams = { userId?: string; reasons: AbsentLateReason[]; }; /** * @class AbsentLate * @property {Timedoctor} td * @property {function(start_date: Date, end_date: Date, params?)} get * @property {function(reasons, params?)} put */ export default class AbsentLate { /** * @param td {Timedoctor} */ td: Timedoctor; constructor(td: Timedoctor); /** * Get all the users * @param {Date} start_date * @param {Date} end_date * @param {{userId?: , offset?: number, limit?: number}} params * @return {Promise} return */ get(start_date: Date, end_date: Date, params?: AbsentLateQuery): Promise>; /** * @param params {{}} * @param params.userId {String?} Comma seperated list of User Ids that access token owner manages * @param reasons {[String]} Array of reasons * @return {Promise} */ put(reasons: string[], params?: AbsentLatePutParams): Promise>; }