import { ObjectId } from "../../../../common/types.js"; //#region src/core/interfaces/vertices/util/vertex.d.ts /** * */ type RealCollection = 'settings' | 'divisionSettings' | 'exceptions' | 'groups' | 'teachers' | 'locations' | 'configurations' | 'courses' | 'events' | 'generations' | 'lockedTimes' | 'linkedEventsSets' | 'periods' | 'rootIntervals' | 'persons' | 'syllabuses' | 'divisions' | 'companies' | 'users' | 'threads' | 'conversations' | 'messages'; /** * */ type PseudoCollection = 'scheduleEvents' | 'calendarEvents' | 'students'; /** * */ type Collection = RealCollection | PseudoCollection; declare const ID_KEY = "id"; type IDKey = typeof ID_KEY; type IDType = string; declare const PRIVATE_ID_KEY = "_id"; type PrivateIDKey = typeof PRIVATE_ID_KEY; type PrivateIDType = ObjectId; declare const PUBLIC_ID_KEY = "ids"; type PublicIDKey = typeof PUBLIC_ID_KEY; declare const VERTEX_COLLECTION_KEY = "__vertex_collection"; type VertexCollectionKey = typeof VERTEX_COLLECTION_KEY; type InternalVertexKeys = VertexCollectionKey; type OmitInternalVertexKeys = Omit; type CollectionIsRecord = { exceptions: 'exception'; groups: 'group'; teachers: 'teacher'; locations: 'location'; configurations: 'configuration'; courses: 'course'; events: 'event'; scheduleEvents: 'event'; generations: 'generation'; settings: 'setting'; divisionSettings: 'setting'; lockedTimes: 'lockedTime'; linkedEventsSets: 'linkedEventsSet'; periods: 'period'; rootIntervals: 'rootInterval'; persons: 'person'; syllabuses: 'syllabus'; divisions: 'division'; }; type CollectionToIs = C extends keyof CollectionIsRecord ? CollectionIsRecord[C] : never; type Vertex = { [ID_KEY]: IDType; [PRIVATE_ID_KEY]: PrivateIDType; [PUBLIC_ID_KEY]?: string; is?: CollectionToIs; displayName?: string; createdAt?: string; updatedAt?: string; ORIGIN?: string; /** * @deprecated promote to an edge? */ lastModifiedBy?: string; /** A helper property used solely by typescript to infer the a vertex */ [VERTEX_COLLECTION_KEY]: C; }; type OmitVertexProperties = Omit>; type PickVertexProperties> = Pick>; type VertexFactory = Vertex & T; //#endregion export { Collection, IDKey, IDType, OmitInternalVertexKeys, OmitVertexProperties, PickVertexProperties, PrivateIDKey, PrivateIDType, PseudoCollection, PublicIDKey, RealCollection, Vertex, VertexFactory }; //# sourceMappingURL=vertex.d.ts.map