Please solve the programming task below using a self-contained code snippet in a markdown code block.

You are given an array of points in the X-Y plane points where points[i] = [xi, yi].
Return the minimum area of a rectangle formed from these points, with sides parallel to the X and Y axes. If there is not any such rectangle, return 0.
 
Please complete the following python code precisely:
```python
class Solution:
    def minAreaRect(self, points: List[List[int]]) -> int:
```