import { VertexFactory } from "./util/vertex.js"; import { AvailableLocation, EdgeWrapper, GroupWithExclude, Plain, Wrapped } from "./util/edges.js"; import { Day } from "./properties/days.js"; import { Interval } from "./properties/intervals.js"; import { Tag } from "./properties/tags.js"; import { MinBreakLength } from "./properties/min-break-length.js"; import { PeriodVertex } from "./periods.js"; import { Domain } from "./properties/domain.js"; import { PersonVertex } from "./persons.js"; import { LocationVertex } from "./locations.js"; import { SyllabusVertex } from "./syllabuses.js"; import { EventVertex } from "./events.js"; import { ExceptionVertex } from "./exceptions.js"; import { GroupVertex } from "./groups.js"; import { LockedTimeVertex } from "./locked-times.js"; import { TeacherVertex } from "./teachers.js"; //#region src/core/interfaces/vertices/courses.d.ts type CourseVertex = VertexFactory<'courses', Domain & { tags?: Tag[]; subject?: string; color?: string; minBreakLength?: MinBreakLength; /** * @note an empty array is the same as undefined */ intervals?: Interval[]; days?: Day[]; eventDurationVariance?: number; centerOfAttraction?: string | null; density?: number; weight?: number; type?: string; /** * Can be one of the following formats: * - X hrs * - Y min/week */ plannedDuration?: string; minutesPlanned?: number; /** @deprecated replaced by plannedDuration? */ minutesPerWeek?: number; /** @deprecated replaced by plannedDuration? */ expectedTotalHours?: number; period?: null | EdgeWrapper<'single', Plain.Edge>; syllabus?: null | EdgeWrapper<'single', Plain.Edge>; lockedTimes?: null | EdgeWrapper<'array', Plain.Edge>; exceptions?: null | EdgeWrapper<'array', Plain.Edge>; events?: null | EdgeWrapper<'array', Plain.Edge>; participants?: null | EdgeWrapper<'array', Wrapped.Edge<'to', PersonVertex, { groupIndex?: number; }>>; teachers?: null | EdgeWrapper<'array', Wrapped.Edge<'to', TeacherVertex, { groupIndex?: number; }>>; groups?: null | EdgeWrapper<'array', GroupWithExclude.Edge>; locations?: null | EdgeWrapper<'array', AvailableLocation.Edge>; }>; //#endregion export { CourseVertex }; //# sourceMappingURL=courses.d.ts.map