#  Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

from typing import Any

from .langhelpers import (
    decorator as decorator,
    inject_docstring_text as inject_docstring_text,
    inject_param_text as inject_param_text,
)

SQLALCHEMY_WARN_20: bool

def warn_deprecated(msg, version, stacklevel: int = ..., code: Any | None = ...) -> None: ...
def warn_deprecated_limited(msg, args, version, stacklevel: int = ..., code: Any | None = ...) -> None: ...
def warn_deprecated_20(msg, stacklevel: int = ..., code: Any | None = ...) -> None: ...
def deprecated_cls(version, message, constructor: str = ...): ...
def deprecated_20_cls(clsname, alternative: Any | None = ..., constructor: str = ..., becomes_legacy: bool = ...): ...
def deprecated(
    version,
    message: Any | None = ...,
    add_deprecation_to_docstring: bool = ...,
    warning: Any | None = ...,
    enable_warnings: bool = ...,
): ...
def moved_20(message, **kw): ...
def deprecated_20(api_name, alternative: Any | None = ..., becomes_legacy: bool = ..., **kw): ...
def deprecated_params(**specs): ...
