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 { LinkedEventsSetVertex } from "./linked-events-sets.js"; import { ThreadVertex } from "./threads.js"; import { SyllabusVertex } from "./syllabuses.js"; import { CourseVertex } from "./courses.js"; import { ExceptionVertex } from "./exceptions.js"; import { GroupVertex } from "./groups.js"; import { LockedTimeVertex } from "./locked-times.js"; import { TeacherVertex } from "./teachers.js"; import { Moment } from "moment"; //#region src/core/interfaces/vertices/events.d.ts type BasicSharedProperties = Domain & { color?: string | null; tags?: Tag[]; fixedStart?: boolean; visible?: boolean; }; type EventProperties = BasicSharedProperties & { density?: number; weight?: number; potentialCenter?: string; parked?: boolean; minBreakLength?: MinBreakLength | null; preferredDuration: number; durationVariance?: number; duration?: number; centerOfAttraction?: string | null; /** * @note an empty array is the same as undefined */ intervals?: Interval[] | null; days?: Day[] | null; start?: Moment | string; end?: Moment | string; weeks?: number[]; type?: string; course?: null | EdgeWrapper<'single', Plain.Edge>; period?: null | EdgeWrapper<'single', Plain.Edge>; linkedEventsSet?: null | EdgeWrapper<'single', Plain.Edge>; lockedTimes?: null | EdgeWrapper<'array', Plain.Edge>; exceptions?: null | EdgeWrapper<'array', Plain.Edge>; inLocations?: null | EdgeWrapper<'array', Plain.Edge | null>; 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>; threads?: null | EdgeWrapper<'array', Plain.Edge>; }; type EventVertex = VertexFactory<'events', EventProperties>; type ScheduleEventVertex = VertexFactory<'scheduleEvents', EventProperties & { subject?: string; start?: Moment | string; end?: Moment | string; persons?: null | EdgeWrapper<'array', Plain.Edge>; syllabus?: null | EdgeWrapper<'single', Plain.Edge>; }>; type CalendarEventVertex = VertexFactory<'calendarEvents', BasicSharedProperties & { meta: { createdAt: string; updatedAt: string; type: 'event' | 'lockedtime' | 'exception'; subType?: string; }; subject?: string; canceled?: boolean; start: number; end: number; exceptions?: null | EdgeWrapper<'array', Plain.Edge>; syllabus?: null | EdgeWrapper<'single', Plain.Edge>; inLocations?: null | EdgeWrapper<'array', Plain.Edge | null>; participants?: null | EdgeWrapper<'array', Wrapped.Edge<'to', PersonVertex, { groupIndex?: number; }>>; teachers?: null | EdgeWrapper<'array', Wrapped.Edge<'to', TeacherVertex, { groupIndex?: number; participates?: boolean; }>>; groups?: null | EdgeWrapper<'array', GroupWithExclude.Edge>; linkedEventsSet?: null | EdgeWrapper<'single', Plain.Edge>; }>; //#endregion export { CalendarEventVertex, EventVertex, ScheduleEventVertex }; //# sourceMappingURL=events.d.ts.map