import { DayText , ModuleCode , RawLesson } from './modules' ; export type Venue = string ; export type VenueList = Venue [ ] ; export type VenueOccupiedState = 'vacant' | 'occupied' ; export const VACANT = 'vacant' ; export const OCCUPIED = 'occupied' ; export type Availability = { [ key ] : VenueOccupiedState ; } ; export type VenueLesson = Omit < RawLesson , 'venue' | 'covidZone' > & { moduleCode : ModuleCode ; } ; export type DayAvailability = Readonly < { day : DayText ; classes : VenueLesson [ ] ; availability : Availability ; } > ; export type VenueInfo = Readonly < { [ venue ] : DayAvailability [ ] ; } > ; export type VenueLocation = { readonly roomName : string ; readonly floor ? : number | string | null ; readonly location ? : { x : number ; y : number ; } ; } ; export type VenueLocationMap = { readonly [ key ] : VenueLocation ; } ;