# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/31_typq.ipynb.

# %% auto 0
__all__ = ['AnyQ', 'IntQ', 'SetQ', 'StrQ', 'ObjQ', 'BoolQ', 'DictQ', 'CallQ', 'TypeQ', 'ListQ', 'IterQ', 'FloatQ', 'TupleQ',
           'NumberQ', 'ComplexQ', 'StrLikeQ', 'NumStrQ', 'PttnQ', 'PatternQ', 'LoggerQ', 'ModuleQ', 'PathLikeQ',
           'BoolFuncQ', 'BoolCallQ', 'ClsAnyQ', 'ClsIntQ', 'ClsSetQ', 'ClsStrQ', 'ClsObjQ', 'ClsBoolQ', 'ClsCallQ',
           'ClsTypeQ', 'ClsListQ', 'ClsIterQ', 'ClsFloatQ', 'ClsNumberQ', 'ClsComplexQ', 'IdxQ', 'IndexQ', 'SeriesQ',
           'DataFrameQ', 'NPArrayQ', 'NPMatrixQ', 'SPArrayQ', 'SPMatrixQ', 'DTypeQ', 'DeviceQ', 'TensorQ', 'DatasetQ',
           'DataLoaderQ', 'DataModuleQ', 'VidCapQ', 'ImgSizeQ']

# %% ../nbs/31_typq.ipynb 6
import logging

# %% ../nbs/31_typq.ipynb 8
from typing import (Type, TypeAlias, ClassVar, Any, Optional, Callable, Iterable,)

# %% ../nbs/31_typq.ipynb 10
#| export


# %% ../nbs/31_typq.ipynb 12
#| export


# %% ../nbs/31_typq.ipynb 14
from .bool import Boolish, BoolFunc, BoolCall
from .nums import Numeric, NumStr
from .strs import StrLike, Pttn
from .path import PathLike
from .type import Module
from .data import Idx, Index, Series, DataFrame
from .data import NPArray, NPMatrix, SPArray, SPMatrix

from .imgs import VidCap, ImgSize
from .tens import DType, Device, Tensor, Dataset, DataLoader, DataModule

# %% ../nbs/31_typq.ipynb 17
AnyQ: TypeAlias = Optional[Any]
IntQ: TypeAlias = Optional[int]
SetQ: TypeAlias = Optional[set]
StrQ: TypeAlias = Optional[str]
ObjQ: TypeAlias = Optional[object]

BoolQ: TypeAlias = Optional[Boolish]
DictQ: TypeAlias = Optional[dict]
CallQ: TypeAlias = Optional[Callable]
TypeQ: TypeAlias = Optional[Type]
ListQ: TypeAlias = Optional[list]
IterQ: TypeAlias = Optional[Iterable]
FloatQ: TypeAlias = Optional[float]
TupleQ: TypeAlias = Optional[tuple]
NumberQ: TypeAlias = Optional[Numeric]
ComplexQ: TypeAlias = Optional[complex]

StrLikeQ: TypeAlias = Optional[StrLike]
NumStrQ: TypeAlias = Optional[NumStr]

# %% ../nbs/31_typq.ipynb 19
PttnQ: TypeAlias = Optional[Pttn]
PatternQ: TypeAlias = Optional[Pttn]

# %% ../nbs/31_typq.ipynb 21
LoggerQ: TypeAlias = Optional[logging.Logger]

# %% ../nbs/31_typq.ipynb 23
ModuleQ: TypeAlias = Optional[Module]

PathLikeQ: TypeAlias = Optional[PathLike]

# %% ../nbs/31_typq.ipynb 25
BoolFuncQ: TypeAlias = Optional[BoolFunc]

BoolCallQ: TypeAlias = Optional[BoolCall]

# %% ../nbs/31_typq.ipynb 27
ClsAnyQ = ClassVar[AnyQ]
ClsIntQ = ClassVar[IntQ]
ClsSetQ = ClassVar[SetQ]
ClsStrQ = ClassVar[StrQ]
ClsObjQ = ClassVar[ObjQ]
ClsBoolQ = ClassVar[BoolQ]
ClsCallQ = ClassVar[CallQ]
ClsTypeQ = ClassVar[TypeQ]
ClsListQ = ClassVar[ListQ]
ClsIterQ = ClassVar[IterQ]
ClsFloatQ = ClassVar[FloatQ]
ClsNumberQ = ClassVar[NumberQ]
ClsComplexQ = ClassVar[ComplexQ]

StrLikeQ: TypeAlias = Optional[StrLike]

# %% ../nbs/31_typq.ipynb 29
IdxQ: TypeAlias = Optional[Idx]
IndexQ: TypeAlias = Optional[Index]
SeriesQ: TypeAlias = Optional[Series]
DataFrameQ: TypeAlias = Optional[DataFrame]

# %% ../nbs/31_typq.ipynb 30
NPArrayQ: TypeAlias = Optional[NPArray]
NPMatrixQ: TypeAlias = Optional[NPMatrix]

SPArrayQ: TypeAlias = Optional[SPArray]
SPMatrixQ: TypeAlias = Optional[SPMatrix]

# %% ../nbs/31_typq.ipynb 32
DTypeQ: TypeAlias = Optional[DType]
DeviceQ: TypeAlias = Optional[Device]
TensorQ: TypeAlias = Optional[Tensor]

# %% ../nbs/31_typq.ipynb 33
DatasetQ: TypeAlias = Optional[Dataset]
DataLoaderQ: TypeAlias = Optional[DataLoader]
DataModuleQ: TypeAlias = Optional[DataModule]

# %% ../nbs/31_typq.ipynb 36
VidCapQ: TypeAlias = Optional[VidCap]
ImgSizeQ: TypeAlias = Optional[ImgSize]
