/** * @dev Simplifies interactions with the StealthKeyRegistry contract */ import { StealthKeyRegistry as StealthKeyRegistryContract } from '@cryptoadong/stealthpay-contracts-core/typechain'; import { JsonRpcSigner } from '../ethers'; import type { EthersProvider } from '../types'; export declare class StealthKeyRegistry { readonly _registry: StealthKeyRegistryContract; /** * @notice Create StealthKeyRegistry instance to interact with the registry * @param signerOrProvider signer or provider to use */ constructor(signerOrProvider: JsonRpcSigner | EthersProvider); /** * @notice For a given account, recovers and returns the public keys * @param account Address to get public keys for */ getStealthKeys(account: string): Promise<{ spendingPublicKey: string; viewingPublicKey: string; }>; /** * @notice Set stealth keys * @param spendingPublicKey The public key for generating a stealth address as hex string * @param viewingPublicKey The public key to use for encryption as hex string * @param signer Optional signer which specifies the account to set stealth keys for. If not provided, the signer * attached to `this.registry` is used * @returns Transaction */ setStealthKeys(spendingPublicKey: string, viewingPublicKey: string, signer?: JsonRpcSigner | null): Promise; }