import { EventType, Network } from "./index"; import { Log } from "./receipt"; import { Trace } from "./trace"; import { Transaction } from "./transaction"; import { ethers } from "ethers"; export interface TxEventBlock { hash: string; number: number; timestamp: number; } export declare type LogDescription = ethers.utils.LogDescription & { address: string; logIndex: number; }; export declare type TransactionDescription = ethers.utils.TransactionDescription & { address: string; }; export declare class TransactionEvent { readonly type: EventType; readonly network: Network; readonly transaction: Transaction; readonly traces: Trace[]; readonly addresses: { [key: string]: boolean; }; readonly block: TxEventBlock; readonly logs: Log[]; readonly contractAddress: string | null; constructor(type: EventType, network: Network, transaction: Transaction, traces: Trace[], addresses: { [key: string]: boolean; }, block: TxEventBlock, logs: Log[], contractAddress: string | null); get hash(): string; get from(): string; get to(): string | null; get gasPrice(): string; get timestamp(): number; get blockNumber(): number; get blockHash(): string; filterLog(eventAbi: string | string[], contractAddress?: string | string[]): LogDescription[]; filterFunction(functionAbi: string | string[], contractAddress?: string | string[]): TransactionDescription[]; }