from dataclasses import dataclass from typing import Any @dataclass(frozen=True) class RasterResult: uri: str metadata: dict[str, Any] def compute_viewshed( observer: object, radius_m: float, target_h: float, surface: str, k: float, ) -> RasterResult: raise NotImplementedError( "Viewshed requires WhiteboxTools or gdal_viewshed integration in a later stage" )