import { BigNumber } from '@ethersproject/bignumber'; import { Result } from '@ethersproject/abi'; import { TransactionReceipt } from '@ethersproject/abstract-provider'; import { TypedEvent } from 'optics-ts-interface/dist/optics-core/commons'; export declare type DispatchTypes = [string, BigNumber, BigNumber, string, string]; export declare type DispatchArgs = { messageHash: string; leafIndex: BigNumber; destinationAndNonce: BigNumber; committedRoot: string; message: string; }; export declare type DispatchEvent = TypedEvent; export declare type UpdateTypes = [number, string, string, string]; export declare type UpdateArgs = { homeDomain: number; oldRoot: string; newRoot: string; signature: string; }; export declare type UpdateEvent = TypedEvent; export declare type ProcessTypes = [string, boolean, string]; export declare type ProcessArgs = { messageHash: string; success: boolean; returnData: string; }; export declare type ProcessEvent = TypedEvent; export declare type OpticsLifecyleEvent = ProcessEvent | UpdateEvent | DispatchEvent; export declare class Annotated> { readonly domain: number; readonly eventName?: string; readonly event: T; readonly receipt: TransactionReceipt; constructor(domain: number, receipt: TransactionReceipt, event: T, callerKnowsWhatTheyAreDoing?: boolean); static fromEvent>(domain: number, event: T): Promise>; static fromEvents>(domain: number, events: T[]): Promise[]>; get contractAddress(): string; get transactionHash(): string; get blockNumber(): number; get blockHash(): string; } export declare type AnnotatedDispatch = Annotated; export declare type AnnotatedUpdate = Annotated; export declare type AnnotatedProcess = Annotated; export declare type AnnotatedLifecycleEvent = AnnotatedDispatch | AnnotatedUpdate | AnnotatedProcess; //# sourceMappingURL=opticsEvents.d.ts.map