import type { Hash } from "@stablelib/hash"; import type { KeyPair } from "@stablelib/x25519"; export { X25519Session } from "./keyagreement.js"; export interface SessionKeys { receive: Uint8Array; send: Uint8Array; } /** * Generates server-side session encryption keys from the shared key obtained during agreement phase. */ export declare function serverSessionKeysFromSharedKey(sharedKey: Uint8Array, myPublicKey: Uint8Array, theirPublicKey: Uint8Array, hash?: new () => Hash): SessionKeys; /** * Generates client-side session encryption keys from the shared key obtained during agreement phase. */ export declare function clientSessionKeysFromSharedKey(sharedKey: Uint8Array, myPublicKey: Uint8Array, theirPublicKey: Uint8Array, hash?: new () => Hash): SessionKeys; /** * Generates server-side session encryption keys. Uses a key pair and a peer's public key to generate the shared key. */ export declare function serverSessionKeys(myKeyPair: KeyPair, theirPublicKey: Uint8Array, hash?: new () => Hash): SessionKeys; /** * Generates client-side session encryption keys. Uses a key pair and a peer's public key to generate the shared key. */ export declare function clientSessionKeys(myKeyPair: KeyPair, theirPublicKey: Uint8Array, hash?: new () => Hash): SessionKeys;