| from typing import Generic, TypeVar, Callable, Any, Mapping, Self, overload | |
| _T = TypeVar("_T") | |
| class _SingleDispatchCallable(Generic[_T]): | |
| registry: Mapping[Any, Callable[..., _T]] | |
| def dispatch(self, cls: Any) -> Callable[..., _T]: ... | |
| # @fun.register(complex) | |
| # def _(arg, verbose=False): ... | |
| @overload | |
| def register(self, cls: type[Any], func: None = ...) -> Callable[[Callable[..., _T]], Callable[..., _T]]: ... | |
| # @fun.register | |
| # def _(arg: int, verbose=False): | |
| @overload | |
| def register(self, cls: Callable[..., _T], func: None = ...) -> Callable[..., _T]: ... | |
| # fun.register(int, lambda x: x) | |
| @overload | |
| def register(self, cls: type[Any], func: Callable[..., _T]) -> Callable[..., _T]: ... | |
| def _clear_cache(self) -> None: ... | |
| def __call__(__self, *args: Any, **kwargs: Any) -> _T: ... | |
| def singledispatch(func: Callable[..., _T]) -> _SingleDispatchCallable[_T]: ... | |
| def total_ordering(cls: type[_T]) -> type[_T]: ... | |
| class cached_property(Generic[_T]): | |
| func: Callable[[Any], _T] | |
| attrname: str | None | |
| def __init__(self, func: Callable[[Any], _T]) -> None: ... | |
| @overload | |
| def __get__(self, instance: None, owner: type[Any] | None = ...) -> cached_property[_T]: ... | |
| @overload | |
| def __get__(self, instance: object, owner: type[Any] | None = ...) -> _T: ... | |
| def __set_name__(self, owner: type[Any], name: str) -> None: ... | |
| def __class_getitem__(cls, item: Any) -> Any: ... | |
| class partial(Generic[_T]): | |
| def __new__(cls, __func: Callable[..., _T], *args: Any, **kwargs: Any) -> Self: ... | |
| def __call__(__self, *args: Any, **kwargs: Any) -> _T: ... | |
| def wraps(wrapped: _T) -> partial[_T]: ... |