import { BigNumberish } from 'ethers';
import { TransactionReceipt } from '@ethersproject/providers';
import { EntryPoint } from '../contracts';
export declare class UserOperationEventListener {
    readonly resolve: (t: TransactionReceipt) => void;
    readonly reject: (reason?: any) => void;
    readonly entryPoint: EntryPoint;
    readonly sender: string;
    readonly userOpHash: string;
    readonly nonce?: BigNumberish;
    readonly timeout?: number;
    resolved: boolean;
    boundLisener: (this: any, ...param: any) => void;
    constructor(resolve: (t: TransactionReceipt) => void, reject: (reason?: any) => void, entryPoint: EntryPoint, sender: string, userOpHash: string, nonce?: BigNumberish, timeout?: number);
    start(): void;
    stop(): void;
    listenerCallback(this: any, ...param: any): Promise<void>;
    extractFailureReason(receipt: TransactionReceipt): Promise<void>;
}
