import { BlockchainService } from '@unilogin/contracts'; import { RelayerRequest } from '@unilogin/commons'; import { utils } from 'ethers'; import { GnosisSafeService } from './GnosisSafeService'; import { WalletEventType } from '../../core/models/events'; export interface IWalletContractServiceStrategy { lastNonce: (walletAddress: string) => Promise; keyExist: (walletAddress: string, key: string) => Promise; requiredSignatures: (walletAddress: string) => Promise; signMessage: (privateKey: string, message: Uint8Array, walletAddress: string) => string; encodeFunction: (method: string, args?: any[], walletAddress?: string) => Promise | string; getEventNameFor: (event: string) => WalletEventType; signRelayerRequest: (privateKey: string, relayerRequest: RelayerRequest) => RelayerRequest; } export declare class WalletContractService { private blockchainService; private beta2Service; private gnosisSafeService; private memoizedWalletVersions; constructor(blockchainService: BlockchainService, beta2Service: IWalletContractServiceStrategy, gnosisSafeService: GnosisSafeService); getWalletService(walletAddress: string): Promise; lastNonce(walletAddress: string): Promise; keyExist(walletAddress: string, key: string): Promise; requiredSignatures(walletAddress: string): Promise; signMessage(walletAddress: string, privateKey: string, message: Uint8Array): Promise; encodeFunction(walletAddress: string, method: string, args?: any[]): Promise; getEventNameFor(walletAddress: string, event: string): Promise; signRelayerRequest(privateKey: string, relayerRequest: RelayerRequest): Promise; } //# sourceMappingURL=WalletContractService.d.ts.map