import { HDKey } from 'viem/accounts'; export interface AddressDetailsWithTxn { address: string; privateKey: string; path: string; transactions: EVMTx[]; } export type AddressDetails = Omit; export interface EVMTx { hash: string; blockHash: string; from: string; to: string; value: string; } export interface EVMTxProvider { getTransactions(address: string): Promise; } export declare class EtherscanTxProvider implements EVMTxProvider { private endpoint; /** * * @param endpoint * ethereum: https://api.etherscan.io/api/?apikey=yourKey * sepolia: https://api-sepolia.etherscan.io/api/?apikey=yourKey * arbitrum: https://api.arbiscan.io/api?apikey=yourKey */ constructor(endpoint: string); getTransactions(address: string): Promise; private _getTransactions; } export declare const getKeysFromAddress: (index: number, accNumber: number, rootNode: HDKey) => { address: `0x${string}`; path: `m/44'/60'/${string}`; publicKey: `0x${string}`; privateKey: string; }; export declare const generateRootNode: (mnemonic: string) => HDKey; /** * For addresses having at least 1 transaction, returns list of address and transaction details. * @returns List of addresses with corresponding transaction details. * See: https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account-discovery */ export declare const discover: (mnemonic: string, provider: EVMTxProvider) => Promise;