# 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', 'CatQ', 'CIdxQ', 'CatIndexQ', 'BIdxQ', 'BoolIndexQ', 'IndexLikeQ', '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 .pdty import Idx, Index, Series, DataFrame
from .pdty import CatIndex, BoolIndex, IndexLike
from .npty import NPArray, NPMatrix
from .spty import 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
CatQ: TypeAlias = Optional[CatIndex]
CIdxQ: TypeAlias = Optional[CatIndex]
CatIndexQ: TypeAlias = Optional[CatIndex]


BIdxQ: TypeAlias = Optional[BoolIndex]
BoolIndexQ: TypeAlias = Optional[BoolIndex]
IndexLikeQ: TypeAlias = Optional[IndexLike]

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

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

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

# %% ../nbs/31_typq.ipynb 34
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]
