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[]