--- /dev/null
+import sys\r
+from typing import List, NamedTuple, Optional, Union\r
+\r
+\r
+if sys.version_info >= (3, 3):\r
+ class _Method: ...\r
+\r
+ METHOD_CRYPT: _Method\r
+ METHOD_MD5: _Method\r
+ METHOD_SHA256: _Method\r
+ METHOD_SHA512: _Method\r
+ if sys.version_info >= (3, 7):\r
+ METHOD_BLOWFISH: _Method\r
+\r
+ methods: List[_Method]\r
+\r
+ if sys.version_info >= (3, 7):\r
+ def mksalt(method: Optional[_Method] = ..., *, rounds: Optional[int] = ...) -> str: ...\r
+ else:\r
+ def mksalt(method: Optional[_Method] = ...) -> str: ...\r
+ def crypt(word: str, salt: Optional[Union[str, _Method]] = ...) -> str: ...\r
+else:\r
+ def crypt(word: str, salt: str) -> str: ...\r