export interface SecretUtils { getPubkey: () => Promise; decrypt: (ciphertext: Uint8Array, nonce: Uint8Array) => Promise; encrypt: (contractCodeHash: string, msg: object) => Promise; getTxEncryptionKey: (nonce: Uint8Array) => Promise; } export default class EnigmaUtils implements SecretUtils { private readonly apiUrl; readonly seed: Uint8Array; private readonly privkey; readonly pubkey: Uint8Array; private consensusIoPubKey; constructor(apiUrl: string, seed?: Uint8Array); static GenerateNewKeyPair(): { privkey: Uint8Array; pubkey: Uint8Array; }; static GenerateNewSeed(): Uint8Array; static GenerateNewKeyPairFromSeed(seed: Uint8Array): { privkey: Uint8Array; pubkey: Uint8Array; }; private getConsensusIoPubKey; getTxEncryptionKey(nonce: Uint8Array): Promise; encrypt(contractCodeHash: string, msg: object): Promise; decrypt(ciphertext: Uint8Array, nonce: Uint8Array): Promise; getPubkey(): Promise; }