import { ethers, Event, Transaction } from 'ethers'; import { BlockWithTransactions } from '@ethersproject/abstract-provider'; import { Block, Log } from '@ethersproject/providers'; import { TypedEvent } from '@ylide/ethereum-contracts/lib/common'; import { IEVMBlock, IEVMEvent, IEVMTransaction } from '../../misc'; export type EventParsed = T extends TypedEvent ? Obj : never; export declare const ethersBlockToInternalBlock: (block: Block | BlockWithTransactions) => IEVMBlock; export declare const ethersTxToInternalTx: (tx: Transaction) => IEVMTransaction; declare function ethersEventToInternalEvent(event: T): IEVMEvent>; declare function ethersEventToInternalEvent(event: T, argsTransform: (args: EventParsed) => D): IEVMEvent; export declare const ethersLogToInternalEvent: (log: { log: Log; logDescription: ethers.utils.LogDescription; }, argsTransform?: ((args: any) => any) | undefined) => IEVMEvent; export { ethersEventToInternalEvent };