import { ctInt256, ctString, ctUint, ctUint256, itInt256, itString, itUint, itUint256 } from "@coti-io/coti-sdk-typescript"; import { JsonRpcSigner as BaseJsonRpcSigner, JsonRpcApiProvider } from "ethers"; import { OnboardInfo, RsaKeyPair } from "../types"; export declare class JsonRpcSigner extends BaseJsonRpcSigner { #private; private _autoOnboard; private _userOnboardInfo?; constructor(provider: JsonRpcApiProvider, address: string, 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; enableAutoOnboard(): void; disableAutoOnboard(): void; clearUserOnboardInfo(): 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; /** * Encrypts values up to 256 bits (uses #prepareIT256) */ 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; generateOrRecoverAes(onboardContractAddress?: string): Promise; }