import { Collection, Vertex, VertexFactory } from "./util/vertex.js"; import { Coalesced, EdgeWrapper, Plain } from "./util/edges.js"; import { PersonVertex } from "./persons.js"; import { LocationVertex } from "./locations.js"; import { EventVertex } from "./events.js"; import { CourseVertex } from "./courses.js"; import { GroupVertex } from "./groups.js"; import { TeacherVertex } from "./teachers.js"; import { Deep } from "./index.js"; import { Moment } from "moment"; //#region src/core/interfaces/vertices/exceptions.d.ts declare const exceptionStatus: readonly ["pending", "failed", "completed", "rejected", "approved"]; type ExceptionStatus = typeof exceptionStatus[number]; type CalendarException = { to?: T; toModel?: 'groups' | 'courses' | 'teachers' | 'locations' | 'persons' | string; include?: boolean; start?: Date | string; end?: Date | string; displayName?: string; comment?: string; }; type CalendarExceptionAction = ({ action: 'cancel' | 'remove'; } | { action: 'reschedule'; exception: { start?: Date | string; end?: Date | string; }; } | { action: 'substitute'; exception: { to: Deep.Group | Deep.Teacher | Deep.Location | Deep.Person; toModel: 'groups' | 'teachers' | 'locations' | 'persons'; include: boolean; start?: Date | string; end?: Date | string; }; } | { action: 'add'; exception: { start: Date | string; end: Date | string; displayName: string; }; } | { action: 'comment'; exception: { comment: string; }; }); type CalendarExceptionEdge> = Coalesced.Edge, 'to' | 'toModel'>>; type ExceptionVertex = VertexFactory<'exceptions', { start?: Moment | string; end?: Moment | string; reason?: string; description?: string; comment?: string; action?: 'cancel' | 'remove' | 'reschedule' | 'add' | 'substitute' | 'comment'; type?: 'absence' | 'calendar'; handleStatus?: ExceptionStatus; sources?: null | EdgeWrapper<'array', Coalesced.Edge | Coalesced.Edge | Coalesced.Edge | Coalesced.Edge | Coalesced.Edge | Coalesced.Edge>; exception?: null | EdgeWrapper<'single', CalendarExceptionEdge | CalendarExceptionEdge | CalendarExceptionEdge | CalendarExceptionEdge | CalendarExceptionEdge>; parentExceptions?: null | EdgeWrapper<'array', Plain.Edge>; exceptions?: null | EdgeWrapper<'array', Plain.Edge>; }>; //#endregion export { CalendarExceptionAction, ExceptionStatus, ExceptionVertex }; //# sourceMappingURL=exceptions.d.ts.map