--- /dev/null
+# Stubs for plistlib\r
+\r
+from typing import (\r
+ Any, IO, Mapping, MutableMapping, Optional, Union,\r
+ Type, TypeVar,\r
+)\r
+from typing import Dict as DictT\r
+import sys\r
+if sys.version_info >= (3,):\r
+ from enum import Enum\r
+\r
+ class PlistFormat(Enum):\r
+ FMT_XML = ... # type: PlistFormat\r
+ FMT_BINARY = ... # type: PlistFormat\r
+ FMT_XML = PlistFormat.FMT_XML\r
+ FMT_BINARY = PlistFormat.FMT_BINARY\r
+\r
+mm = MutableMapping[str, Any]\r
+_D = TypeVar('_D', bound=mm)\r
+if sys.version_info >= (3,):\r
+ _Path = str\r
+else:\r
+ _Path = Union[str, unicode]\r
+\r
+if sys.version_info >= (3, 4):\r
+ def load(fp: IO[bytes], *, fmt: Optional[PlistFormat] = ...,\r
+ use_builtin_types: bool = ..., dict_type: Type[_D] = ...) -> _D: ...\r
+ def loads(data: bytes, *, fmt: Optional[PlistFormat] = ...,\r
+ use_builtin_types: bool = ..., dict_type: Type[_D] = ...) -> _D: ...\r
+ def dump(value: Mapping[str, Any], fp: IO[bytes], *,\r
+ fmt: PlistFormat =..., sort_keys: bool = ...,\r
+ skipkeys: bool = ...) -> None: ...\r
+ def dumps(value: Mapping[str, Any], *, fmt: PlistFormat = ...,\r
+ skipkeys: bool = ..., sort_keys: bool = ...) -> bytes: ...\r
+\r
+def readPlist(pathOrFile: Union[_Path, IO[bytes]]) -> DictT[str, Any]: ...\r
+def writePlist(value: Mapping[str, Any], pathOrFile: Union[_Path, IO[bytes]]) -> None: ...\r
+def readPlistFromBytes(data: bytes) -> DictT[str, Any]: ...\r
+def writePlistToBytes(value: Mapping[str, Any]) -> bytes: ...\r
+if sys.version_info < (3,):\r
+ def readPlistFromResource(path: _Path, restype: str = ...,\r
+ resid: int = ...) -> DictT[str, Any]: ...\r
+ def writePlistToResource(rootObject: Mapping[str, Any], path: _Path,\r
+ restype: str = ...,\r
+ resid: int = ...) -> None: ...\r
+ def readPlistFromString(data: str) -> DictT[str, Any]: ...\r
+ def writePlistToString(rootObject: Mapping[str, Any]) -> str: ...\r
+\r
+if sys.version_info < (3, 7):\r
+ class Dict(dict):\r
+ def __getattr__(self, attr: str) -> Any: ...\r
+ def __setattr__(self, attr: str, value: Any) -> None: ...\r
+ def __delattr__(self, attr: str) -> None: ...\r
+\r
+class Data:\r
+ data = ... # type: bytes\r
+ def __init__(self, data: bytes) -> None: ...\r