from collections.abc import Iterator
from typing import Any

from django.contrib.gis.geos.geometry import GEOSGeometry
from django.contrib.gis.geos.linestring import LinearRing

class Polygon(GEOSGeometry):
    def __init__(self, *args: Any, **kwargs: Any) -> None: ...
    def __iter__(self) -> Iterator[LinearRing]: ...
    def __len__(self) -> int: ...
    @classmethod
    def from_bbox(cls, bbox: tuple[float, float, float, float]) -> Polygon: ...
    @property
    def num_interior_rings(self) -> int: ...
    exterior_ring: LinearRing
    shell: LinearRing
    @property
    def coords(self) -> tuple[tuple[tuple[float, ...]]]: ...
    @property
    def tuple(self) -> tuple[tuple[tuple[float, ...]]]: ...
