import planar
from _typeshed import Incomplete
from planar.util import cached_property as cached_property
from typing import Iterable

class BoundingBox:
    def __init__(self, points: Iterable[planar.Vec2]) -> None: ...
    @property
    def bounding_box(self) -> BoundingBox: ...
    @property
    def min_point(self): ...
    @property
    def max_point(self): ...
    @property
    def width(self): ...
    @property
    def height(self): ...
    def center(self): ...
    def is_empty(self): ...
    @classmethod
    def from_points(cls, points): ...
    @classmethod
    def from_shapes(cls, shapes): ...
    @classmethod
    def from_center(cls, center, width, height): ...
    def inflate(self, amount): ...
    def contains_point(self, point): ...
    def fit(self, shape): ...
    def to_polygon(self): ...
    def __eq__(self, other): ...
    def __ne__(self, other): ...
    def almost_equals(self, other): ...
    def __mul__(self, other): ...
    __rmul__: Incomplete
