import { Collection, Vertex } from "./util/vertex.js"; import { IdKey, InternalIdKey } from "../../types/common/index.js"; import { DeepVertexExport, DeepVertexExportOmitPrivateId, MixedVertexExport, MixedWithOptionalIdVertexExport } from "./util/deep-vertex-export/index.js"; import { SerializedVertexExport } from "./util/serialized-vertex-export.js"; import { PeriodVertex } from "./periods.js"; import { RootIntervalVertex } from "./root-intervals.js"; import { CalendarException, DivisionSettingsVertex } from "./division-settings.js"; import { GenerationVertex } from "./generations.js"; import { DivisionVertex, StepGuideProgress } from "./divisions.js"; import { PersonVertex } from "./persons.js"; import { LocationVertex } from "./locations.js"; import { LinkedEventsSetVertex } from "./linked-events-sets.js"; import { UserVertex } from "./users.js"; import { ThreadVertex } from "./threads.js"; import { SyllabusVertex } from "./syllabuses.js"; import { CalendarEventVertex, EventVertex, ScheduleEventVertex } from "./events.js"; import { CourseVertex } from "./courses.js"; import { CalendarExceptionAction, ExceptionStatus, ExceptionVertex } from "./exceptions.js"; import { GroupVertex } from "./groups.js"; import { LockedTimeType, LockedTimeVertex } from "./locked-times.js"; import { TeacherVertex } from "./teachers.js"; import { ConfigurationFilterVertex, ConfigurationRuleVertex, ConfigurationTemplateVertex, ConfigurationVertex } from "./configurations.js"; import { MessageVertex } from "./messages.js"; import { ConversationVertex } from "./conversations.js"; import { Infer, VertexQuery, createVertexQuery } from "./vertex-query.js"; //#region src/core/interfaces/vertices/index.d.ts type Is = Pick, 'is'>; type ScheduleOf, TSettings extends Is<'settings'>, TException extends Is<'exceptions'>, TGroup extends Is<'groups'>, TTeacher extends Is<'teachers'>, TLocation extends Is<'locations'>, TCourse extends Is<'courses'>, TEvent extends Is<'events'>, TPeriod extends Is<'periods'>, TPerson extends Is<'persons'>, TLockedTime extends Is<'lockedTimes'>, TRootInterval extends Is<'rootIntervals'>, TSyllabus extends Is<'syllabuses'>, TConfiguration extends Is<'configurations'>, TLinkedEventsSet extends Is<'linkedEventsSets'>> = { divisions: TDivision; settings: TSettings; exceptions: TException[]; groups: TGroup[]; teachers: TTeacher[]; locations: TLocation[]; courses: TCourse[]; events: TEvent[]; periods: TPeriod[]; persons: TPerson[]; lockedTimes: TLockedTime[]; rootIntervals: TRootInterval[]; syllabuses: TSyllabus[]; configurations: TConfiguration[]; linkedEventsSets: TLinkedEventsSet[]; }; declare namespace Serialized { type Teacher = SerializedVertexExport; type Exception = SerializedVertexExport; type Event = SerializedVertexExport; type ScheduleEvent = SerializedVertexExport; type CalendarEvent = SerializedVertexExport; type Course = SerializedVertexExport; type Settings = SerializedVertexExport; type Division = SerializedVertexExport; type Generation = SerializedVertexExport; type Group = SerializedVertexExport; type Location = SerializedVertexExport; type LockedTime = SerializedVertexExport; type LinkedEventsSet = SerializedVertexExport; type Period = SerializedVertexExport; type Person = SerializedVertexExport; type RootInterval = SerializedVertexExport; type Syllabus = SerializedVertexExport; type Thread = SerializedVertexExport; type User = SerializedVertexExport; type Conversation = SerializedVertexExport; type Message = SerializedVertexExport; namespace Configuration { type Base = SerializedVertexExport; type Filter = SerializedVertexExport; type Template = SerializedVertexExport; type Rule = SerializedVertexExport; type Mixed = Filter | Template | Rule; } type Schedule = ScheduleOf; } declare namespace Deep { type Teacher = DeepVertexExport; type Exception = DeepVertexExport; type Event = DeepVertexExport; type ScheduleEvent = DeepVertexExport; type CalendarEvent = DeepVertexExport; type Course = DeepVertexExport; type Settings = DeepVertexExport; type Division = DeepVertexExport; type Generation = DeepVertexExport; type Group = DeepVertexExport; type Location = DeepVertexExport; type LockedTime = DeepVertexExport; type LinkedEventsSet = DeepVertexExport; type Period = DeepVertexExport; type Person = DeepVertexExport; type RootInterval = DeepVertexExport; type Syllabus = DeepVertexExport; type Thread = DeepVertexExport; type User = DeepVertexExport; type Conversation = DeepVertexExport; type Message = DeepVertexExport; namespace Configuration { type Base = DeepVertexExport; type Filter = DeepVertexExport; type Template = DeepVertexExport; type Rule = DeepVertexExport; type Mixed = Filter | Template | Rule; } type Schedule = ScheduleOf; } declare namespace DeepWithoutPrivateId { type Teacher = DeepVertexExportOmitPrivateId; type Exception = DeepVertexExportOmitPrivateId; type Event = DeepVertexExportOmitPrivateId; type ScheduleEvent = DeepVertexExportOmitPrivateId; type CalendarEvent = DeepVertexExportOmitPrivateId; type Course = DeepVertexExportOmitPrivateId; type Settings = DeepVertexExportOmitPrivateId; type Division = DeepVertexExportOmitPrivateId; type Generation = DeepVertexExportOmitPrivateId; type Group = DeepVertexExportOmitPrivateId; type Location = DeepVertexExportOmitPrivateId; type LockedTime = DeepVertexExportOmitPrivateId; type LinkedEventsSet = DeepVertexExportOmitPrivateId; type Period = DeepVertexExportOmitPrivateId; type Person = DeepVertexExportOmitPrivateId; type RootInterval = DeepVertexExportOmitPrivateId; type Syllabus = DeepVertexExportOmitPrivateId; type Thread = DeepVertexExportOmitPrivateId; type User = DeepVertexExportOmitPrivateId; type Conversation = DeepVertexExportOmitPrivateId; type Message = DeepVertexExportOmitPrivateId; namespace Configuration { type Base = DeepVertexExport; type Filter = DeepVertexExport; type Template = DeepVertexExport; type Rule = DeepVertexExport; type Mixed = Filter | Template | Rule; } type Schedule = ScheduleOf; } declare namespace Mixed { type Teacher = MixedVertexExport; type Exception = MixedVertexExport; type Event = MixedVertexExport; type ScheduleEvent = MixedVertexExport; type CalendarEvent = MixedVertexExport; type Course = MixedVertexExport; type Settings = MixedVertexExport; type Division = MixedVertexExport; type Generation = MixedVertexExport; type Group = MixedVertexExport; type Location = MixedVertexExport; type LockedTime = MixedVertexExport; type LinkedEventsSet = MixedVertexExport; type Period = MixedVertexExport; type Person = MixedVertexExport; type RootInterval = MixedVertexExport; type Syllabus = MixedVertexExport; type Thread = MixedVertexExport; type User = MixedVertexExport; type Conversation = MixedVertexExport; type Message = MixedVertexExport; namespace Configuration { type Base = MixedVertexExport; type Filter = MixedVertexExport; type Template = MixedVertexExport; type Rule = MixedVertexExport; type Mixed = Filter | Template | Rule; } type Schedule = ScheduleOf; } declare namespace MixedWithOptionalId { type Teacher = MixedWithOptionalIdVertexExport; type Exception = MixedWithOptionalIdVertexExport; type Event = MixedWithOptionalIdVertexExport; type ScheduleEvent = MixedWithOptionalIdVertexExport; type CalendarEvent = MixedWithOptionalIdVertexExport; type Course = MixedWithOptionalIdVertexExport; type Settings = MixedWithOptionalIdVertexExport; type Division = MixedWithOptionalIdVertexExport; type Generation = MixedWithOptionalIdVertexExport; type Group = MixedWithOptionalIdVertexExport; type Location = MixedWithOptionalIdVertexExport; type LockedTime = MixedWithOptionalIdVertexExport; type LinkedEventsSet = MixedWithOptionalIdVertexExport; type Period = MixedWithOptionalIdVertexExport; type Person = MixedWithOptionalIdVertexExport; type RootInterval = MixedWithOptionalIdVertexExport; type Syllabus = MixedWithOptionalIdVertexExport; type Thread = MixedWithOptionalIdVertexExport; type User = MixedWithOptionalIdVertexExport; type Conversation = MixedWithOptionalIdVertexExport; type Message = MixedWithOptionalIdVertexExport; namespace Configuration { type Base = MixedWithOptionalIdVertexExport; type Filter = MixedWithOptionalIdVertexExport; type Template = MixedWithOptionalIdVertexExport; type Rule = MixedWithOptionalIdVertexExport; type Mixed = Filter | Template | Rule; } type Schedule = ScheduleOf; } declare namespace SerializedWithOptionalId { type MakeIdsOptional, IdKey | InternalIdKey>> = Omit & Partial>; export type Teacher = MakeIdsOptional; export type Exception = MakeIdsOptional; export type Event = MakeIdsOptional; export type ScheduleEvent = MakeIdsOptional; export type CalendarEvent = MakeIdsOptional; export type Course = MakeIdsOptional; export type Settings = MakeIdsOptional; export type Division = MakeIdsOptional; export type Generation = MakeIdsOptional; export type Group = MakeIdsOptional; export type Location = MakeIdsOptional; export type LockedTime = MakeIdsOptional; export type LinkedEventsSet = MakeIdsOptional; export type Period = MakeIdsOptional; export type Person = MakeIdsOptional; export type RootInterval = MakeIdsOptional; export type Syllabus = MakeIdsOptional; export type Thread = MakeIdsOptional; export type User = MakeIdsOptional; export type Conversation = MakeIdsOptional; export type Message = MakeIdsOptional; export namespace Configuration { type Base = MakeIdsOptional; type Filter = MakeIdsOptional; type Template = MakeIdsOptional; type Rule = MakeIdsOptional; type Mixed = Filter | Template | Rule; } export type Schedule = ScheduleOf; export {}; } //#endregion export { Deep, DeepWithoutPrivateId, Mixed, MixedWithOptionalId, Serialized, SerializedWithOptionalId }; //# sourceMappingURL=index.d.ts.map