from typing import Iterable class Track: @staticmethod def from_file(path: bytes, compression: str | None) -> "Track": ... @staticmethod def from_coordinates(coordinates: list[tuple[float, float]]) -> "Track": ... class Storage: @staticmethod def Folder(path: bytes) -> "Storage": ... @staticmethod def Sqlite(path: bytes) -> "Storage": ... class HeatmapRenderer: def __new__(cls) -> "HeatmapRenderer": ... class MarktileRenderer: def __new__(cls) -> "MarktileRenderer": ... class TilehuntRenderer: def __new__(cls, zoom: int) -> "TilehuntRenderer": ... class Settings: min_zoom: int max_zoom: int threads: int def __new__(cls, min_zoom: int=0, max_zoom: int=19, threads: int=0) -> "Settings": ... def generate(settings: Settings, items: Iterable[Track], renderer: HeatmapRenderer | MarktileRenderer | TilehuntRenderer, storage: Storage): ... class HitteError(Exception): ...