"""Type stubs for tenacity module.""" from collections.abc import Callable from types import TracebackType from typing import Any, TypeVar _T = TypeVar("_T") class RetryCallState: """State of a retry call.""" attempt_number: int outcome: Any | None next_action: Any | None class AttemptManager: """Context manager for retry attempts.""" retry_state: RetryCallState def __enter__(self) -> None: ... def __exit__( self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None, ) -> bool: ... class Retrying: """Sync retrying executor.""" def __init__( self, stop: Any = None, wait: Any = None, retry: Any = None, before: Callable[[RetryCallState], None] | None = None, after: Callable[[RetryCallState], None] | None = None, reraise: bool = False, ) -> None: ... def __iter__(self) -> Retrying: ... def __next__(self) -> AttemptManager: ... class AsyncRetrying: """Async retrying executor.""" def __init__( self, stop: Any = None, wait: Any = None, retry: Any = None, before: Callable[[RetryCallState], None] | None = None, after: Callable[[RetryCallState], None] | None = None, reraise: bool = False, ) -> None: ... def __aiter__(self) -> AsyncRetrying: ... async def __anext__(self) -> AttemptManager: ... def retry( stop: Any = None, wait: Any = None, retry: Any = None, before: Callable[[RetryCallState], None] | None = None, after: Callable[[RetryCallState], None] | None = None, reraise: bool = False, ) -> Callable[[Callable[..., _T]], Callable[..., _T]]: ... def retry_if_exception_type( exception_types: type[BaseException] | tuple[type[BaseException], ...], ) -> Any: ... def retry_if_result(predicate: Callable[[Any], bool]) -> Any: ... def stop_after_attempt(max_attempt_number: int) -> Any: ... def stop_after_delay(max_delay: float) -> Any: ... def wait_exponential( multiplier: float = 1, max: float = 60, exp_base: float = 2, min: float = 0, ) -> Any: ... def wait_exponential_jitter( initial: float = 1, max: float = 60, exp_base: float = 2, jitter: float = 1, ) -> Any: ... def wait_fixed(wait: float) -> Any: ... def wait_random(min: float = 0, max: float = 1) -> Any: ... __all__ = [ "AsyncRetrying", "AttemptManager", "RetryCallState", "Retrying", "retry", "retry_if_exception_type", "retry_if_result", "stop_after_attempt", "stop_after_delay", "wait_exponential", "wait_exponential_jitter", "wait_fixed", "wait_random", ]