from collections.abc import Iterator
from typing import Any

from django.contrib.gis.geos.base import GEOSBase
from typing_extensions import Self

class GEOSCoordSeq(GEOSBase):
    ptr_type: Any
    def __init__(self, ptr: Any, z: bool = ...) -> None: ...
    def __iter__(self) -> Iterator[tuple[float, ...]]: ...
    def __len__(self) -> int: ...
    def __getitem__(self, index: int) -> Any: ...
    def __setitem__(self, index: int, value: Any) -> None: ...
    def getOrdinate(self, dimension: int, index: int) -> float: ...
    def setOrdinate(self, dimension: int, index: int, value: float) -> None: ...
    def getX(self, index: int) -> float: ...
    def setX(self, index: int, value: float) -> None: ...
    def getY(self, index: int) -> float: ...
    def setY(self, index: int, value: float) -> None: ...
    def getZ(self, index: int) -> float: ...
    def setZ(self, index: int, value: float) -> None: ...
    @property
    def size(self) -> int: ...
    @property
    def dims(self) -> int: ...
    @property
    def hasz(self) -> bool: ...
    def clone(self) -> Self: ...
    @property
    def kml(self) -> str: ...
    @property
    def tuple(self) -> tuple[Any, ...]: ...
    @property
    def is_counterclockwise(self) -> bool: ...
