import { ethers } from 'ethers'; import { YlideRegistryV4 } from '@ylide/ethereum-contracts'; import { ExternalYlidePublicKey } from '@ylide/sdk'; import { EthereumBlockchainReader } from '../controllers/helpers/EthereumBlockchainReader'; import { IEVMEnrichedEvent, IEVMRegistryContractLink } from '../misc'; import { ContractCache } from './ContractCache'; import { KeyAttachedEventObject } from '@ylide/ethereum-contracts/lib/YlideRegistryV4'; export declare class EthereumRegistryV4Wrapper { readonly blockchainReader: EthereumBlockchainReader; readonly cache: ContractCache; constructor(blockchainReader: EthereumBlockchainReader); static deploy(signer: ethers.Signer, from: string, previousContractAddress?: string): Promise; processKeyAttachedEvent(event: IEVMEnrichedEvent): { address: string; key: ExternalYlidePublicKey; }; getOwner(registry: IEVMRegistryContractLink): Promise; setOwner(registry: IEVMRegistryContractLink, signer: ethers.Signer, from: string, owner: string): Promise; getPublicKeyByAddress(registry: IEVMRegistryContractLink, address: string): Promise; getPublicKeysHistoryForAddress(registry: IEVMRegistryContractLink, address: string): Promise; attachPublicKey(registry: IEVMRegistryContractLink, signer: ethers.Signer, from: string, publicKey: ExternalYlidePublicKey): Promise; getBonuces(registry: IEVMRegistryContractLink): Promise<{ newcomer: string; referrer: string; }>; setBonuses(registry: IEVMRegistryContractLink, signer: ethers.Signer, from: string, newcomerBonus: string, referrerBonus: string): Promise; setBonucer(registry: IEVMRegistryContractLink, signer: ethers.Signer, from: string, bonucerAddress: string): Promise; getBonucer(registry: IEVMRegistryContractLink): Promise; attachPublicKeyByAdmin(registry: IEVMRegistryContractLink, signer: ethers.Signer, from: string, txSignature: { v: number; r: string; s: string; }, address: string, publicKey: Uint8Array, keyVersion: number, referrer: string | null, payBonus: boolean, value: string): Promise; }