File: //opt/saltstack/salt/lib/python3.10/site-packages/Cryptodome/Protocol/DH.pyi
from typing import TypedDict, Callable, TypeVar, Generic
from typing_extensions import Unpack, NotRequired
from Cryptodome.PublicKey.ECC import EccKey
T = TypeVar('T')
class RequestParams(TypedDict, Generic[T]):
kdf: Callable[[bytes|bytearray|memoryview], T]
static_priv: NotRequired[EccKey]
static_pub: NotRequired[EccKey]
eph_priv: NotRequired[EccKey]
eph_pub: NotRequired[EccKey]
def key_agreement(**kwargs: Unpack[RequestParams[T]]) -> T: ...