import { providers } from 'ethers'; import type { TypedEvent, TypedEventFilter } from '@abacus-network/core/dist/common'; import { MultiProvider } from './providers/MultiProvider'; import { ChainName } from './types'; export declare class Annotated { readonly domain: number; readonly eventName?: string; readonly event: T; readonly receipt: providers.TransactionReceipt; constructor(domain: number, receipt: providers.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 interface TSContract { queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: number | undefined, toBlock?: number | undefined): Promise>; } export declare function queryAnnotatedEvents(multiprovider: MultiProvider, chain: ChainName, contract: TSContract, filter: TypedEventFilter, startBlock?: number, endBlock?: number): Promise>>; export declare function findAnnotatedSingleEvent(multiprovider: MultiProvider, chain: ChainName, contract: TSContract, filter: TypedEventFilter, startBlock?: number): Promise>>; export declare function getEvents(multiprovider: MultiProvider, chain: ChainName, contract: TSContract, filter: TypedEventFilter, startBlock?: number, endBlock?: number): Promise>; export declare function findEvent(multiprovider: MultiProvider, chain: ChainName, contract: TSContract, filter: TypedEventFilter, startBlock?: number): Promise>; //# sourceMappingURL=events.d.ts.map