export class GraphNode { val: T constructor(val: T) { this.val = val } } type EdgeList = Map, number> export type WeightedGraph = Map, EdgeList> export type ShortestDistances = Map, number> export type PrevVertices = Map, GraphNode | null>