from typing import Any, Dict, Mapping, Optional, Sequence, Type

DEFAULTS: Dict[str, Any] = ...

IMPORT_STRINGS: Sequence[str] = ...

REMOVED_SETTINGS: Sequence[str] = ...

def perform_import(val: Optional[Any], setting_name: str) -> Optional[Any]: ...
def import_from_string(val: Optional[Any], setting_name: str) -> Type[Any]: ...

class APISettings(object):
    defaults: Mapping[str, Any]
    import_strings: Sequence[str]
    def __init__(
        self,
        user_settings: Optional[Mapping[str, Any]] = ...,
        defaults: Optional[Mapping[str, Any]] = ...,
        import_strings: Optional[Sequence[str]] = ...,
    ): ...
    @property
    def user_settings(self) -> Mapping[str, Any]: ...
    def __getattr__(self, attr: str) -> Any: ...
    def __check_user_settings(self, user_settings: Mapping[str, Any]) -> Mapping[str, Any]: ...
    def reload(self) -> None: ...

api_settings: APISettings = ...

def reload_api_settings(*args: Any, **kwargs: Any) -> None: ...
