import { Provider, SigningKey, Wallet as BaseWallet } from "ethers"; import { OnboardInfo, RsaKeyPair } from "../types"; import { ctInt256, ctString, ctUint, ctUint256, itInt256, itString, itUint, itUint256 } from "@coti-io/coti-sdk-typescript"; export declare class Wallet extends BaseWallet { private _autoOnboard; private _userOnboardInfo?; constructor(privateKey: string | SigningKey, provider?: Provider | null, userOnboardInfo?: OnboardInfo); getAutoOnboard(): boolean; getUserOnboardInfo(): OnboardInfo | undefined; setUserOnboardInfo(onboardInfo?: Partial | undefined | null): void; setAesKey(key: string): void; setOnboardTxHash(hash: string): void; setRsaKeyPair(rsa: RsaKeyPair): void; /** * Ensures AES key is available, handles onboarding if needed */ private _ensureAesKey; /** * Encrypts values up to 128 bits (uses prepareIT) */ encryptValue(plaintextValue: bigint | number | string, contractAddress: string, functionSelector: string): Promise; encryptValue256(plaintextValue: bigint | number, contractAddress: string, functionSelector: string): Promise; /** * Decrypts ctUint256 ciphertexts (uses decryptUint256) * Only accepts ciphertexts matching ctUint256 type */ decryptValue256(ciphertext: ctUint256): Promise; /** * Encrypts a signed int256 (uses prepareSignedIT256). */ encryptValueSigned256(plaintextValue: bigint | number, contractAddress: string, functionSelector: string): Promise; /** * Decrypts ctInt256 ciphertexts (uses decryptInt256). */ decryptValueSigned256(ciphertext: ctInt256): Promise; /** * Decrypts ctUint and ctString ciphertexts */ decryptValue(ciphertext: ctUint | ctString): Promise; enableAutoOnboard(): void; disableAutoOnboard(): void; clearUserOnboardInfo(): void; generateOrRecoverAes(onboardContractAddress?: string): Promise; }