massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stubs / paramiko / paramiko / kex_ecdh_nist.pyi
1 import sys
2 from _typeshed import ReadableBuffer
3 from typing import Callable
4
5 from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurve, EllipticCurvePrivateKey, EllipticCurvePublicKey
6 from paramiko.message import Message
7 from paramiko.transport import Transport
8
9 if sys.version_info >= (3, 0):
10     from hashlib import _Hash
11 else:
12     from hashlib import _hash as _Hash
13
14 c_MSG_KEXECDH_INIT: bytes
15 c_MSG_KEXECDH_REPLY: bytes
16
17 class KexNistp256:
18     name: str
19     hash_algo: Callable[[ReadableBuffer], _Hash]
20     curve: EllipticCurve
21     transport: Transport
22     P: int | EllipticCurvePrivateKey
23     Q_C: EllipticCurvePublicKey | None
24     Q_S: EllipticCurvePublicKey | None
25     def __init__(self, transport: Transport) -> None: ...
26     def start_kex(self) -> None: ...
27     def parse_next(self, ptype: int, m: Message) -> None: ...
28
29 class KexNistp384(KexNistp256):
30     name: str
31     hash_algo: Callable[[ReadableBuffer], _Hash]
32     curve: EllipticCurve
33
34 class KexNistp521(KexNistp256):
35     name: str
36     hash_algo: Callable[[ReadableBuffer], _Hash]
37     curve: EllipticCurve