Graph:

getNeighbours(node: number ): number[]

getCost(node: number , neighbor: number ): number

getHeuristic(node: number , goal: number ): number

getPath(from: number , to: number ): number[]

getWaypointPath(from: Vec2 , to: Vec2 , opt: any ): Vec2[]