from typing import Any

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

class GDALBand(GDALRasterBase):
    source: Any = ...
    def __init__(self, source: Any, index: Any) -> None: ...
    @property
    def description(self) -> Any: ...
    @property
    def width(self) -> Any: ...
    @property
    def height(self) -> Any: ...
    @property
    def pixel_count(self) -> Any: ...
    def statistics(self, refresh: bool = ..., approximate: bool = ...) -> Any: ...
    @property
    def min(self) -> Any: ...
    @property
    def max(self) -> Any: ...
    @property
    def mean(self) -> Any: ...
    @property
    def std(self) -> Any: ...
    @property
    def nodata_value(self) -> Any: ...
    @nodata_value.setter
    def nodata_value(self, value: Any) -> None: ...
    def datatype(self, as_string: bool = ...) -> Any: ...
    def color_interp(self, as_string: bool = ...) -> Any: ...
    def data(
        self,
        data: Any | None = ...,
        offset: Any | None = ...,
        size: Any | None = ...,
        shape: Any | None = ...,
        as_memoryview: bool = ...,
    ) -> Any: ...

class BandList(list[Any]):
    source: Any = ...
    def __init__(self, source: Any) -> None: ...
    def __iter__(self) -> Any: ...
    def __len__(self) -> Any: ...
    def __getitem__(self, index: Any) -> Any: ...
