--- /dev/null
+from typing import Any, Dict, Iterator, List, Optional, Tuple\r
+import collections\r
+\r
+\r
+class Shelf(collections.MutableMapping):\r
+ def __init__(self, dict: Dict[Any, Any], protocol: Optional[int] = ..., writeback: bool = ..., keyencoding: str = ...) -> None: ...\r
+ def __iter__(self) -> Iterator[str]: ...\r
+ def keys(self) -> List[Any]: ...\r
+ def __len__(self) -> int: ...\r
+ def has_key(self, key: Any) -> bool: ...\r
+ def __contains__(self, key: Any) -> bool: ...\r
+ def get(self, key: Any, default: Any = ...) -> Any: ...\r
+ def __getitem__(self, key: Any) -> Any: ...\r
+ def __setitem__(self, key: Any, value: Any) -> None: ...\r
+ def __delitem__(self, key: Any) -> None: ...\r
+ def __enter__(self) -> Shelf: ...\r
+ def __exit__(self, type: Any, value: Any, traceback: Any) -> None: ...\r
+ def close(self) -> None: ...\r
+ def __del__(self) -> None: ...\r
+ def sync(self) -> None: ...\r
+\r
+class BsdDbShelf(Shelf):\r
+ def __init__(self, dict: Dict[Any, Any], protocol: Optional[int] = ..., writeback: bool = ..., keyencoding: str = ...) -> None: ...\r
+ def set_location(self, key: Any) -> Tuple[str, Any]: ...\r
+ def next(self) -> Tuple[str, Any]: ...\r
+ def previous(self) -> Tuple[str, Any]: ...\r
+ def first(self) -> Tuple[str, Any]: ...\r
+ def last(self) -> Tuple[str, Any]: ...\r
+\r
+class DbfilenameShelf(Shelf):\r
+ def __init__(self, filename: str, flag: str = ..., protocol: Optional[int] = ..., writeback: bool = ...) -> None: ...\r
+\r
+def open(filename: str, flag: str = ..., protocol: Optional[int] = ..., writeback: bool = ...) -> DbfilenameShelf: ...\r