# Stubs for pathlib (Python 3.4)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Undefined, Any
from collections import Sequence

class _Flavour:
    join = Undefined(Any)
    def __init__(self): pass
    def parse_parts(self, parts): pass
    def join_parsed_parts(self, drv, root, parts, drv2, root2, parts2): pass

class _WindowsFlavour(_Flavour):
    sep = Undefined(Any)
    altsep = Undefined(Any)
    has_drv = Undefined(Any)
    pathmod = Undefined(Any)
    is_supported = Undefined(Any)
    drive_letters = Undefined(Any)
    ext_namespace_prefix = Undefined(Any)
    reserved_names = Undefined(Any)
    def splitroot(self, part, sep=Undefined): pass
    def casefold(self, s): pass
    def casefold_parts(self, parts): pass
    def resolve(self, path): pass
    def is_reserved(self, parts): pass
    def make_uri(self, path): pass

class _PosixFlavour(_Flavour):
    sep = Undefined(Any)
    altsep = Undefined(Any)
    has_drv = Undefined(Any)
    pathmod = Undefined(Any)
    is_supported = Undefined(Any)
    def splitroot(self, part, sep=Undefined): pass
    def casefold(self, s): pass
    def casefold_parts(self, parts): pass
    def resolve(self, path): pass
    def is_reserved(self, parts): pass
    def make_uri(self, path): pass

class _Accessor: pass

class _NormalAccessor(_Accessor):
    stat = Undefined(Any)
    lstat = Undefined(Any)
    open = Undefined(Any)
    listdir = Undefined(Any)
    chmod = Undefined(Any)
    lchmod = Undefined(Any)
    mkdir = Undefined(Any)
    unlink = Undefined(Any)
    rmdir = Undefined(Any)
    rename = Undefined(Any)
    replace = Undefined(Any)
    def symlink(a, b, target_is_directory): pass
    utime = Undefined(Any)
    def readlink(self, path): pass

class _Selector:
    child_parts = Undefined(Any)
    successor = Undefined(Any)
    def __init__(self, child_parts): pass
    def select_from(self, parent_path): pass

class _TerminatingSelector: pass

class _PreciseSelector(_Selector):
    name = Undefined(Any)
    def __init__(self, name, child_parts): pass

class _WildcardSelector(_Selector):
    pat = Undefined(Any)
    def __init__(self, pat, child_parts): pass

class _RecursiveWildcardSelector(_Selector):
    def __init__(self, pat, child_parts): pass

class _PathParents(Sequence):
    def __init__(self, path): pass
    def __len__(self): pass
    def __getitem__(self, idx): pass

class PurePath:
    def __init__(self, *args): pass
    def __reduce__(self): pass
    def as_posix(self): pass
    def __bytes__(self): pass
    def as_uri(self): pass
    def __eq__(self, other): pass
    def __ne__(self, other): pass
    def __hash__(self): pass
    def __lt__(self, other): pass
    def __le__(self, other): pass
    def __gt__(self, other): pass
    def __ge__(self, other): pass
    drive = Undefined(Any)
    root = Undefined(Any)
    @property
    def anchor(self): pass
    @property
    def name(self): pass
    @property
    def suffix(self): pass
    @property
    def suffixes(self): pass
    @property
    def stem(self): pass
    def with_name(self, name): pass
    def with_suffix(self, suffix): pass
    def relative_to(self, *other): pass
    @property
    def parts(self): pass
    def joinpath(self, *args): pass
    def __truediv__(self, key): pass
    def __rtruediv__(self, key): pass
    @property
    def parent(self): pass
    @property
    def parents(self): pass
    def is_absolute(self): pass
    def is_reserved(self): pass
    def match(self, path_pattern): pass

class PurePosixPath(PurePath): pass
class PureWindowsPath(PurePath): pass

class Path(PurePath):
    def __init__(self, *args, **kwargs): pass
    def __enter__(self): pass
    def __exit__(self, t, v, tb): pass
    @classmethod
    def cwd(cls): pass
    def iterdir(self): pass
    def glob(self, pattern): pass
    def rglob(self, pattern): pass
    def absolute(self): pass
    def resolve(self): pass
    def stat(self): pass
    def owner(self): pass
    def group(self): pass
    def open(self, mode='', buffering=-1, encoding=None, errors=None, newline=None): pass
    def touch(self, mode=438, exist_ok=True): pass
    def mkdir(self, mode=511, parents=False): pass
    def chmod(self, mode): pass
    def lchmod(self, mode): pass
    def unlink(self): pass
    def rmdir(self): pass
    def lstat(self): pass
    def rename(self, target): pass
    def replace(self, target): pass
    def symlink_to(self, target, target_is_directory=False): pass
    def exists(self): pass
    def is_dir(self): pass
    def is_file(self): pass
    def is_symlink(self): pass
    def is_block_device(self): pass
    def is_char_device(self): pass
    def is_fifo(self): pass
    def is_socket(self): pass

class PosixPath(Path, PurePosixPath): pass
class WindowsPath(Path, PureWindowsPath): pass
