# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/04_path.ipynb.

# %% auto 0
__all__ = ['PathType', 'PathLike', 'DirPath', 'DirNames', 'FileNames', 'WalkTuple', 'WalkParts']

# %% ../nbs/04_path.ipynb 6
import os, pathlib

# %% ../nbs/04_path.ipynb 8
from typing import (
    TypeAlias, Literal, Union, List, Set,
    Iterable, Tuple, ForwardRef
)

# %% ../nbs/04_path.ipynb 10
#| export


# %% ../nbs/04_path.ipynb 12
#| export


# %% ../nbs/04_path.ipynb 14
#| export


# %% ../nbs/04_path.ipynb 16
PathType: TypeAlias = Union[pathlib.Path, pathlib.PosixPath]
PathLike: TypeAlias = Union[str, os.PathLike, pathlib.Path, PathType]

# %% ../nbs/04_path.ipynb 18
DirPath:   TypeAlias = PathLike
DirNames:  TypeAlias = List[PathLike]
FileNames: TypeAlias = List[PathLike]
WalkTuple: TypeAlias = Tuple[DirPath, DirNames, FileNames]
WalkParts: TypeAlias = Iterable[WalkTuple]

# %% ../nbs/04_path.ipynb 20
# DirLike: TypeAlias = Union['Dir', 'rdir', 'sdir', 'bdir', 'ndir', 'dsrc', 'dtry']
# BaseLike: TypeAlias = Union['Base', 'base',  'bdir', 'btry', 'bpth', 'bsrc', ]
# Entry: TypeAlias = Union[PathLike, 'Entry', 'BaseEntry', 'StructuredEntry', 'ntry']
# BaseType: TypeAlias   = Union[PathLike, Entry, BaseLike, Entry]
# DirType:  TypeAlias   = Union[PathLike, 'StructuredPath', 'DirEntry',  'StructuredDir', DirLike, 'dpath']
# FileType: TypeAlias   = Union[PathLike, 'StructuredPath', 'FileEntry', 'StructuredFile',  'fpath']
# PathType: TypeAlias   = Union[PathLike, 'StructuredPath', 'PathEntry',  Entry,  BaseType, 'ppath']
