1from typing import Any, IO, List, Mapping, MutableMapping, Optional, Protocol, Text, Type, Union
2import datetime
3import sys
4
5if sys.version_info >= (3, 4):
6    import pathlib
7    if sys.version_info >= (3, 6):
8        import os
9        _PathLike = Union[Text, pathlib.PurePath, os.PathLike]
10    else:
11        _PathLike = Union[Text, pathlib.PurePath]
12else:
13    _PathLike = Text
14
15class _Writable(Protocol):
16    def write(self, obj: str) -> Any: ...
17
18class TomlDecodeError(Exception): ...
19
20def load(f: Union[_PathLike, List[Text], IO[str]], _dict: Type[MutableMapping[str, Any]] = ...) -> MutableMapping[str, Any]: ...
21def loads(s: Text, _dict: Type[MutableMapping[str, Any]] = ...) -> MutableMapping[str, Any]: ...
22
23def dump(o: Mapping[str, Any], f: _Writable) -> str: ...
24def dumps(o: Mapping[str, Any]) -> str: ...
25