import { VertexFactory } from "./util/vertex.js"; import { EdgeWrapper, Plain } from "./util/edges.js"; import { Day } from "./properties/days.js"; import { Interval } from "./properties/intervals.js"; import { Tag } from "./properties/tags.js"; import { MaximumScheduleSpan } from "./properties/maximum-schedule-span.js"; import { PlannedScheduledDuration } from "./properties/planned-scheduled-duration.js"; import { RootIntervalVertex } from "./root-intervals.js"; import { Domain } from "./properties/domain.js"; import { PersonVertex } from "./persons.js"; import { ExceptionVertex } from "./exceptions.js"; import { LockedTimeVertex } from "./locked-times.js"; //#region src/core/interfaces/vertices/teachers.d.ts type TeacherVertex = VertexFactory<'teachers', Domain & { tags?: Tag[]; signature?: string; organizationId?: string; dutyRole?: string; description?: string; dutyPercent?: number; hoursPerYear?: number; startDate?: string | Date; endDate?: string | Date; assignmentRoles?: Array<{ groupId?: string; assignmentRole?: string; startDate?: string | Date; endDate?: string | Date; }>; minBreakLength?: number; /** @deprecated replaced by defaultMaximumScheduleSpan */ maxNumWorkingHours?: number | false; /** @deprecated replaced by defaultMaximumScheduleSpan */ maxNumDailyWorkingHours?: number | number[] | false; plannedScheduledDuration?: PlannedScheduledDuration; maximumScheduleSpan?: MaximumScheduleSpan; forbidOverlappingEvents?: boolean; disableDayLengthPunishment?: boolean; weight?: number; /** * @note an empty array is the same as undefined */ intervals?: Interval[]; days?: Day[]; rootInterval?: null | EdgeWrapper<'single', Plain.Edge>; lockedTimes?: null | EdgeWrapper<'array', Plain.Edge>; lunch?: null | EdgeWrapper<'array', Plain.Edge>; complementaryTimes?: null | EdgeWrapper<'array', Plain.Edge>; exceptions?: null | EdgeWrapper<'array', Plain.Edge>; person?: null | EdgeWrapper<'single', Plain.Edge>; }>; //#endregion export { TeacherVertex }; //# sourceMappingURL=teachers.d.ts.map