import { AuthorizedKeyUserInput, Curve, HashAlgorithm, Keypair } from "./types.js"; import Keychain from "./keychain.js"; export declare function randomSecretKey(): Uint8Array; export declare function IDToHashAlgo(ID: number): HashAlgorithm; export declare function hashAlgoToID(hashAlgo: HashAlgorithm): number; export declare function getHashDigest(content: string | Uint8Array, algo: HashAlgorithm): Uint8Array; export declare function hash(content: string | Uint8Array, algo?: HashAlgorithm): Uint8Array; export declare function curveToID(curve: Curve): number; export declare function IDToCurve(ID: number): Curve; export declare function derivePrivateKey(seed: string | Uint8Array, index?: number): Uint8Array; export declare function deriveKeyPair(seed: string | Uint8Array, index?: number, curve?: Curve, origin_id?: number): Keypair; export declare function deriveAddress(seed: string | Uint8Array, index?: number, curve?: Curve, hashAlgo?: HashAlgorithm): Uint8Array; export declare function generateDeterministicKeyPair(pvKey: string | Uint8Array, curve: Curve, originID: number): Keypair; export declare function sign(data: string | Uint8Array, privateKey: string | Uint8Array): Uint8Array; export declare function verify(sig: string | Uint8Array, data: string | Uint8Array, publicKey: string | Uint8Array): boolean; export declare function ecEncrypt(data: string | Uint8Array, publicKey: string | Uint8Array): Uint8Array; export declare function ecDecrypt(ciphertext: string | Uint8Array, privateKey: string | Uint8Array): Uint8Array; export declare function aesEncrypt(data: string | Uint8Array, aesKey: string | Uint8Array): Uint8Array; export declare function aesDecrypt(cipherText: string | Uint8Array, aesKey: string | Uint8Array): Uint8Array; export declare function isValidAddress(address: string | Uint8Array): boolean; export declare function getGenesisAddress(seed: string | Uint8Array): string; export declare function getServiceGenesisAddress(keychain: Keychain, service: string, suffix?: string): string; export declare function encryptSecret(secret: string | Uint8Array, ...publicKeys: string[] | Uint8Array[]): { encryptedSecret: Uint8Array; authorizedKeys: AuthorizedKeyUserInput[]; }; export declare function decryptSecret(encryptedSecret: Uint8Array, authorizedKeys: AuthorizedKeyUserInput[], keyPair: Keypair): Uint8Array;