from collections.abc import Sequence
from datetime import datetime
from typing import Literal, overload
__version__: str
class Hasher:
def __init__(
self,
start_datetime: datetime,
end_datetime: datetime,
bbox: tuple[float, float, float, float] | None = None,
) -> None: ...
def hash(self, datetime: datetime, longitude: float, latitude: float) -> int:
def hash_clamped(
self, datetime: datetime, longitude: float, latitude: float
) -> int:
@overload
def hash_all(
self,
datetimes: Sequence[datetime],
longitudes: Sequence[float],
latitudes: Sequence[float],
skip_invalid: Literal[False] = False,
) -> list[int]:
@overload
def hash_all(
self,
datetimes: Sequence[datetime],
longitudes: Sequence[float],
latitudes: Sequence[float],
skip_invalid: Literal[True],
) -> list[int | None]:
@overload
def hash_all(
self,
datetimes: Sequence[datetime],
longitudes: Sequence[float],
latitudes: Sequence[float],
skip_invalid: bool,
) -> list[int | None]:
def hash_all(
self,
datetimes: Sequence[datetime],
longitudes: Sequence[float],
latitudes: Sequence[float],
skip_invalid: bool = False,
) -> list[int] | list[int | None]:
def hash_all_clamped(
self,
datetimes: Sequence[datetime],
longitudes: Sequence[float],
latitudes: Sequence[float],
) -> list[int]: