# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/32_tgrd.ipynb.

# %% auto 0
__all__ = ['T', 'P', 'TypeLike', 'GuardFunc', 'StrGuard']

# %% ../nbs/32_tgrd.ipynb 6
#| export


# %% ../nbs/32_tgrd.ipynb 8
from typing import Type, Union, Callable, TypeAlias, TypeGuard, TypeVar, ParamSpec
T = TypeVar('T')
P = ParamSpec('P')

# %% ../nbs/32_tgrd.ipynb 10
#| export


# %% ../nbs/32_tgrd.ipynb 12
#| export


# %% ../nbs/32_tgrd.ipynb 14
#| export


# %% ../nbs/32_tgrd.ipynb 16
TypeLike:  TypeAlias = Union[Type, TypeAlias, Type[T]]
GuardFunc: TypeAlias = Callable[P, TypeGuard[TypeLike]]

# %% ../nbs/32_tgrd.ipynb 17
StrGuard: TypeAlias = Callable[[str], TypeGuard[str]]
