from _typeshed import Self
from typing import Any

class Settings:
    def __new__(cls: type[Self], *args, **kw) -> Self: ...
    def __init__(self, settings: Any | None = ...) -> None: ...
    @classmethod
    def get_key(cls, settings: Any | None = ...): ...
    def replace(self, mod_settings: Any | None = ..., **kwds): ...

settings: Any

def apply_settings(f): ...

class SettingValidationError(ValueError): ...

def check_settings(settings) -> None: ...
