# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/01_atyp.ipynb.

# %% auto 0
__all__ = ['P', 'R', 'Operator', 'Shaped', 'DataType', 'GraphType']

# %% ../nbs/01_atyp.ipynb 4
from types import BuiltinFunctionType
from typing import Callable, Union, TypeAlias, ParamSpec, TypeVar, TypeGuard

# %% ../nbs/01_atyp.ipynb 5
from .cons import ShapedTypes, DataTypes, GraphTypes

# %% ../nbs/01_atyp.ipynb 7
P = ParamSpec('P')
R = TypeVar('R', bound=Callable[..., TypeGuard[object]])

# %% ../nbs/01_atyp.ipynb 8
Operator: TypeAlias = Union[BuiltinFunctionType, Callable]

# %% ../nbs/01_atyp.ipynb 9
Shaped: TypeAlias = Union[*ShapedTypes, *ShapedTypes]
DataType: TypeAlias = Union[*DataTypes, *DataTypes]
GraphType: TypeAlias = Union[*GraphTypes, *GraphTypes]
