Polygon:

collides(shape: ShapeType | Vec2): boolean

raycast(origin: Vec2, direction: Vec2): RaycastResult

cut(a: Vec2, b: Vec2): [Polygon | null, Polygon | null]