import { ChainEvent, ChainType } from "@atomiqlabs/base"; import { ISwap } from "../swaps/ISwap"; import { EventListener } from "@atomiqlabs/base/src/events/ChainEvents"; import { SwapType } from "../swaps/enums/SwapType"; import { UnifiedSwapStorage } from "../storage/UnifiedSwapStorage"; export type SwapEventListener> = (event: ChainEvent, swap: S) => Promise; export declare class UnifiedSwapEventListener { readonly storage: UnifiedSwapStorage; readonly events: T["Events"]; readonly listeners: { [key in SwapType]?: { listener: SwapEventListener; reviver: new (obj: any) => ISwap; }; }; constructor(unifiedStorage: UnifiedSwapStorage, events: T["Events"]); processEvents(events: ChainEvent[]): Promise; listener: EventListener; start(): Promise; stop(): Promise; registerListener>(type: SwapType, listener: SwapEventListener, reviver: new (val: any) => S): void; unregisterListener(type: SwapType): boolean; }