import * as Native from './Native.js'; import { PrivateKey, PublicKey } from './EcKeys.js'; export declare class KEMPublicKey { readonly _nativeHandle: Native.KyberPublicKey; private constructor(); static _fromNativeHandle(handle: Native.KyberPublicKey): KEMPublicKey; static deserialize(buf: Uint8Array): KEMPublicKey; serialize(): Uint8Array; } export declare class SignedPreKeyRecord implements SignedPublicPreKey { readonly _nativeHandle: Native.SignedPreKeyRecord; private constructor(); static _fromNativeHandle(nativeHandle: Native.SignedPreKeyRecord): SignedPreKeyRecord; static new(id: number, timestamp: number, pubKey: PublicKey, privKey: PrivateKey, signature: Uint8Array): SignedPreKeyRecord; static deserialize(buffer: Uint8Array): SignedPreKeyRecord; id(): number; privateKey(): PrivateKey; publicKey(): PublicKey; serialize(): Uint8Array; signature(): Uint8Array; timestamp(): number; } /** The public information contained in a {@link SignedPreKeyRecord} */ export type SignedPublicPreKey = { id: () => number; publicKey: () => PublicKey; signature: () => Uint8Array; }; export declare class PreKeyBundle { readonly _nativeHandle: Native.PreKeyBundle; private constructor(); static _fromNativeHandle(handle: Native.PreKeyBundle): PreKeyBundle; static new(registration_id: number, device_id: number, prekey_id: number | null, prekey: PublicKey | null, signed_prekey_id: number, signed_prekey: PublicKey, signed_prekey_signature: Uint8Array, identity_key: PublicKey, kyber_prekey_id: number, kyber_prekey: KEMPublicKey, kyber_prekey_signature: Uint8Array): PreKeyBundle; deviceId(): number; identityKey(): PublicKey; preKeyId(): number | null; preKeyPublic(): PublicKey | null; registrationId(): number; signedPreKeyId(): number; signedPreKeyPublic(): PublicKey; signedPreKeySignature(): Uint8Array; kyberPreKeyId(): number; kyberPreKeyPublic(): KEMPublicKey; kyberPreKeySignature(): Uint8Array; }