# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/00_types.ipynb.

# %% auto 0
__all__ = ['NumStr', 'SignInt', 'SignChr', 'SignSym', 'NumStrQ', 'SignIntQ', 'SignChrQ', 'SignSymQ', 'ExpoChr', 'ExpoChrQ',
           'sint']

# %% ../nbs/00_types.ipynb 3
from numbers import Number
from typing import Union, Literal, Optional, TypeAlias, ForwardRef

# %% ../nbs/00_types.ipynb 5
NumStr: TypeAlias = Union[Number, str]
SignInt: TypeAlias = Literal[1, 0, -1]
SignChr: TypeAlias = Literal['P', '', 'N']
SignSym: TypeAlias = Literal['+', '', '-']

NumStrQ: TypeAlias = Optional[NumStr]
SignIntQ: TypeAlias = Optional[SignInt]
SignChrQ: TypeAlias = Optional[SignChr]
SignSymQ: TypeAlias = Optional[SignSym]

ExpoChr: TypeAlias = Literal['^', '**', 'E']
ExpoChrQ: TypeAlias = Optional[ExpoChr]

sint: TypeAlias = ForwardRef('sint')
