--- /dev/null
+from typing import AnyStr, Callable, ContextManager, IO, Optional, Text, Type\r
+\r
+def replace_atomic(src: AnyStr, dst: AnyStr) -> None: ...\r
+def move_atomic(src: AnyStr, dst: AnyStr) -> None: ...\r
+class AtomicWriter(object):\r
+ def __init__(self, path: AnyStr, mode: Text = ..., overwrite: bool = ...) -> None: ...\r
+ def open(self) -> ContextManager[IO]: ...\r
+ def _open(self, get_fileobject: Callable) -> ContextManager[IO]: ...\r
+ def get_fileobject(self, dir: Optional[AnyStr] = ..., **kwargs) -> IO: ...\r
+ def sync(self, f: IO) -> None: ...\r
+ def commit(self, f: IO) -> None: ...\r
+ def rollback(self, f: IO) -> None: ...\r
+def atomic_write(path: AnyStr, writer_cls: Type[AtomicWriter] = ..., **cls_kwargs: object) -> ContextManager[IO]: ...\r