import { JsonRpcProvider } from '@ethersproject/providers'; import { PrefixedHexString } from 'ethereumjs-util'; import { TypedMessage } from '@metamask/eth-sig-util'; import { Address, RelayRequest, RLPEncodedTransaction } from '@opengsn/common'; import { GSNConfig } from './GSNConfigurator'; export interface AccountKeypair { privateKey: PrefixedHexString; address: Address; } export declare class AccountManager { private readonly provider; private readonly accounts; private readonly config; readonly chainId: number; constructor(provider: JsonRpcProvider, chainId: number, config: GSNConfig); addAccount(privateKey: PrefixedHexString): AccountKeypair; newAccount(): AccountKeypair; signMessage(message: string, from: Address): PrefixedHexString; signTransaction(transactionConfig: TransactionConfig, from: Address): RLPEncodedTransaction; private findPrivateKey; signTypedData(typedMessage: TypedMessage, from: Address): PrefixedHexString; sign(domainSeparatorName: string, relayRequest: RelayRequest): Promise; _signWithProvider(signedData: any): Promise; _signWithControlledKey(privateKey: PrefixedHexString, signedData: TypedMessage): string; getAccounts(): string[]; }