import { VertexFactory } from "./util/vertex.js"; import { EdgeWrapper, Plain } from "./util/edges.js"; import { MaximumScheduleSpan } from "./properties/maximum-schedule-span.js"; import { PlannedScheduledDuration } from "./properties/planned-scheduled-duration.js"; import { PeriodVertex } from "./periods.js"; import { RootIntervalVertex } from "./root-intervals.js"; import { Domain } from "./properties/domain.js"; import { Moment } from "moment"; //#region src/core/interfaces/vertices/division-settings.d.ts type CalendarException = { start: string | Moment; end: string | Moment; description?: string; }; interface ExceptionsConfig { requireAbsenceReason: boolean; constrictAbsenceReason: boolean; absenceReasons: string[]; suggestionRanking: Record; } type DivisionSettingsVertex = VertexFactory<'settings', Domain & { numDays: number; dayStart: string; dayEnd: string; discretization: number; potentialCenter: string; minimizeTeacherGaps?: boolean; defaultEventMinimumBreakLength?: number; defaultGroupMinimumBreakLength?: number; defaultDependencyMinimumBreakLength?: number; /** @deprecated replaced by defaultMaximumScheduleSpan */ defaultMaxNumWorkingHours?: number | null; /** @deprecated replaced by defaultMaximumScheduleSpan */ defaultMaxNumDailyWorkingHours?: number | null; defaultPlannedScheduledDuration?: PlannedScheduledDuration; defaultMaximumScheduleSpan?: MaximumScheduleSpan; defaultDayRank?: number; defaultDependencyRank?: number; defaultGroupRank?: number; defaultEventDensity?: number; defaultEventWeight?: number; defaultGroupWeight?: number; /** @deprecated no longer needed */ defaultCourseWeight?: number; calendarExceptions?: CalendarException[]; defaultEventDurationVariance?: number; eventTime?: number; eventTimeActive?: boolean; requireForcedOverlappingEventsSets?: boolean; exceptionsConfig?: ExceptionsConfig; period?: null | EdgeWrapper<'single', Plain.Edge>; defaultRootInterval?: null | EdgeWrapper<'single', Plain.Edge>; }>; //#endregion export { CalendarException, DivisionSettingsVertex }; //# sourceMappingURL=division-settings.d.ts.map