///
import type { SignKeyPair, Proof } from "./utils/interfaces";
declare const ondemos: {
generateIdentities: (identitiesLen?: number, module?: import("@libdemos").LibDemos | undefined) => Promise<{
nonces: Uint8Array[];
publicKeys: Uint8Array[];
secretKeys: Uint8Array[];
commitDetails: Uint8Array;
}>;
generateProof: (identityChosenIndex: number, currentCommit: Uint8Array, previousCommit: Uint8Array, nonces: Uint8Array[], publicKeys: Uint8Array[], secretKeys: Uint8Array[], module?: import("@libdemos").LibDemos | undefined) => Promise;
commit: (details: Uint8Array, previousCommit: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
verifyProof: (commit: Uint8Array, proof: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
randomBytes: (n: number, module?: import("@libdemos").LibDemos | undefined) => Promise;
randomShuffle: (array: T[]) => Promise;
randomSubset: (array: T_1[], elements: number) => Promise;
randomNumber: (min: number, max: number, module?: import("@libdemos").LibDemos | undefined) => Promise;
sha512: (data: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
argon2: (mnemonic: string, salt?: Uint8Array | undefined, module?: import("@libdemos").LibDemos | undefined) => Promise;
keyPair: (module?: import("@libdemos").LibDemos | undefined) => Promise;
keyPairFromSeed: (seed: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
keyPairFromSecretKey: (secretKey: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
sign: (message: Uint8Array, secretKey: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
verify: (message: Uint8Array, signature: Uint8Array, publicKey: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
encryptAsymmetric: (message: Uint8Array, receiverPublicKey: Uint8Array, senderSecretKey: Uint8Array, additionalData: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
decryptAsymmetric: (encrypted: Uint8Array, publicKey: Uint8Array, secretKey: Uint8Array, additionalData: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
encryptSymmetric: (message: Uint8Array, symmetricKey: Uint8Array, additionalData: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
decryptSymmetric: (encrypted: Uint8Array, symmetricKey: Uint8Array, additionalData: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
generateMnemonic: (strength?: 256 | 128 | 160 | 192 | 224 | 288 | 320 | 352 | 384 | 416 | 448 | 480 | 512) => Promise;
keyPairFromMnemonic: (mnemonic: string, password?: string | undefined) => Promise;
validateMnemonic: (mnemonic: string) => Promise;
wordlist: string[];
getMerkleRoot: (tree: Uint8Array[], module?: import("@libdemos").LibDemos | undefined) => Promise;
getMerkleProof: (tree: Uint8Array[], element: Uint8Array, module?: import("@libdemos").LibDemos | undefined) => Promise;
getMerkleRootFromProof: (hash: Uint8Array, proof: Uint8Array) => Promise;
verifyMerkleProof: (hash: Uint8Array, root: Uint8Array, proof: Uint8Array) => Promise;
splitSecret: (secret: Uint8Array, sharesLen: number, threshold: number, module?: import("@libdemos").LibDemos | undefined) => Promise;
restoreSecret: (shares: Uint8Array[], module?: import("@libdemos").LibDemos | undefined) => Promise;
loadWasmModule: EmscriptenModuleFactory;
loadWasmMemory: {
generateIdentities: (identitiesLen: number) => WebAssembly.Memory;
generateProof: (identitiesLen: number, identityChosenIndex: number) => WebAssembly.Memory;
commit: () => WebAssembly.Memory;
verifyProof: (proofLen: number) => WebAssembly.Memory;
randomBytes: (bytes: number) => WebAssembly.Memory;
sha512: (arrayLen: number) => WebAssembly.Memory;
argon2: (mnemonicLen: number) => WebAssembly.Memory;
keyPair: () => WebAssembly.Memory;
keyPairFromSeed: () => WebAssembly.Memory;
keyPairFromSecretKey: () => WebAssembly.Memory;
sign: (messageLen: number) => WebAssembly.Memory;
verify: (messageLen: number) => WebAssembly.Memory;
encryptAsymmetric: (messageLen: number, additionalDataLen: number) => WebAssembly.Memory;
decryptAsymmetric: (encryptedLen: number, additionalDataLen: number) => WebAssembly.Memory;
encryptSymmetric: (messageLen: number, additionalDataLen: number) => WebAssembly.Memory;
decryptSymmetric: (encryptedLen: number, additionalDataLen: number) => WebAssembly.Memory;
merkleRoot: (leavesLen: number) => WebAssembly.Memory;
};
constants: {
commit_BYTES: number;
commit_details_BYTES: number;
commit_nonce_BYTES: number;
getProofLen: (identitiesLen: number, identityChosenIndex: number) => number;
crypto_hash_sha512_BYTES: number;
crypto_box_poly1305_AUTHTAGBYTES: number;
crypto_box_x25519_PUBLICKEYBYTES: number;
crypto_box_x25519_SECRETKEYBYTES: number;
crypto_box_x25519_NONCEBYTES: number;
crypto_kx_SESSIONKEYBYTES: number;
crypto_aead_chacha20poly1305_ietf_KEYBYTES: number;
crypto_sign_ed25519_BYTES: number;
crypto_sign_ed25519_SEEDBYTES: number;
crypto_sign_ed25519_PUBLICKEYBYTES: number;
crypto_sign_ed25519_SECRETKEYBYTES: number;
};
};
export { SignKeyPair, Proof };
export default ondemos;
//# sourceMappingURL=index.d.ts.map