import { Fragment, Interface, JsonFragment } from 'ethers';
import { DecodedError } from './types';
import { ErrorHandler } from './errors/handlers';
export declare class ErrorDecoder {
    readonly errorInterface: Interface | undefined;
    private readonly errorHandlers;
    private constructor();
    private getContractOrTransactionError;
    private getTransactionError;
    private getDataFromError;
    private decodeError;
    decodeReturnData(data: string): DecodedError;
    decode(error: unknown | Error): Promise<DecodedError>;
    static create(errorInterfaces?: ReadonlyArray<Fragment[] | JsonFragment[] | Interface>, opts?: {
        additionalErrorHandlers?: ErrorHandler[];
    }): ErrorDecoder;
}
