from typing import Optional, Any


class AddressLookup:
  lat: float
  lon: float
  lang: Optional[str]


class GeocodeLookup:
  query: str
  lang: Optional[str]


class NominatimPlaceAddress:
  county: str
  district: str
  country: str
  city: Optional[str]
  province: Optional[str]
  state: Optional[str]
  road: Optional[str]
  suburb: Optional[str]
  quarter: Optional[str]
  village: Optional[str]
  municipality: Optional[str]


class NominatimPlace:
  name: str
  lat: float
  lon: float
  type: str
  category: str
  display_name: str
  address: Optional[NominatimPlaceAddress]
  bbox: Any
