from typing import Any, Optional

GEOIP_SETTINGS: Any

class GeoIP2Exception(Exception): ...

class GeoIP2:
    MODE_AUTO: int = ...
    MODE_MMAP_EXT: int = ...
    MODE_MMAP: int = ...
    MODE_FILE: int = ...
    MODE_MEMORY: int = ...
    cache_options: Any = ...
    def __init__(
        self, path: Optional[Any] = ..., cache: int = ..., country: Optional[Any] = ..., city: Optional[Any] = ...
    ) -> None: ...
    def __del__(self) -> None: ...
    def city(self, query: Any): ...
    def country_code(self, query: Any): ...
    def country_name(self, query: Any): ...
    def country(self, query: Any): ...
    def coords(self, query: Any, ordering: Any = ...): ...
    def lon_lat(self, query: Any): ...
    def lat_lon(self, query: Any): ...
    def geos(self, query: Any): ...
    @property
    def info(self): ...
    @classmethod
    def open(cls, full_path: Any, cache: Any): ...
