from .. import typing as tp
from .base import Operation, Property
from .point import LikePoint, Point

class PointCloud(Point):
    def __init__(self, points: tp.Sequence[LikePoint]) -> None: ...
    def transform(self, operation: Operation, **kwargs) -> Property: ...

class Corners(PointCloud):
    def get(self) -> tp.NDArray: ...
    @staticmethod
    def product(shape: tp.IntTuple) -> Corners: ...
