from typing import Any, Optional

from django.contrib.gis.gdal.raster.base import GDALRasterBase as GDALRasterBase

class TransformPoint(list):
    indices: Any = ...
    def __init__(self, raster: Any, prop: Any) -> None: ...
    @property
    def x(self): ...
    @x.setter
    def x(self, value: Any) -> None: ...
    @property
    def y(self): ...
    @y.setter
    def y(self, value: Any) -> None: ...

class GDALRaster(GDALRasterBase):
    destructor: Any = ...
    def __init__(self, ds_input: Any, write: bool = ...) -> None: ...
    def __del__(self) -> None: ...
    @property
    def vsi_buffer(self): ...
    def is_vsi_based(self): ...
    @property
    def name(self): ...
    def driver(self): ...
    @property
    def width(self): ...
    @property
    def height(self): ...
    @property
    def srs(self): ...
    @srs.setter
    def srs(self, value: Any) -> None: ...
    @property
    def srid(self): ...
    @srid.setter
    def srid(self, value: Any) -> None: ...
    @property
    def geotransform(self): ...
    @geotransform.setter
    def geotransform(self, values: Any) -> None: ...
    @property
    def origin(self): ...
    @property
    def scale(self): ...
    @property
    def skew(self): ...
    @property
    def extent(self): ...
    @property
    def bands(self): ...
    def warp(self, ds_input: Any, resampling: str = ..., max_error: float = ...): ...
    def transform(
        self,
        srid: Any,
        driver: Optional[Any] = ...,
        name: Optional[Any] = ...,
        resampling: str = ...,
        max_error: float = ...,
    ): ...
    @property
    def info(self): ...
