import type { ProviderRpcError } from "../../../types/providers.js";
import { CustomError } from "@nomicfoundation/hardhat-utils/error";
export declare class ProviderError extends CustomError implements ProviderRpcError {
    code: number;
    data?: unknown;
    constructor(message: string, code: number, parentError?: Error);
    static isProviderError(other: unknown): other is ProviderError;
}
export declare class LimitExceededError extends ProviderError {
    static readonly CODE = -32005;
    constructor(message?: string, parent?: Error);
}
export declare class InvalidJsonInputError extends ProviderError {
    static readonly CODE = -32700;
    constructor(message?: string, parent?: Error);
}
export declare class InvalidRequestError extends ProviderError {
    static readonly CODE = -32600;
    constructor(message?: string, parent?: Error);
}
export declare class MethodNotFoundError extends ProviderError {
    static readonly CODE = -32601;
    constructor(message?: string, parent?: Error);
}
export declare class InvalidArgumentsError extends ProviderError {
    static readonly CODE = -32602;
    constructor(message?: string, parent?: Error);
}
export declare class InternalError extends ProviderError {
    static readonly CODE = -32603;
    constructor(message?: string, parent?: Error);
}
export declare class UnknownError extends ProviderError {
    static readonly CODE = -1;
    constructor(message?: string, parent?: Error);
}
/**
 * Thrown by `eth_estimateGas` when the network's `gasEstimationMode` is
 * `"noInternalOutOfGas"` and an internal call runs out of gas even when the
 * transaction is executed with the maximum amount of gas available, meaning
 * that no gas limit can prevent the internal out-of-gas error.
 */
export declare class InternalCallOutOfGasError extends ProviderError {
    static readonly CODE = -32000;
    constructor(message?: string, parent?: Error);
}
/**
 * Detects the error data of EDR's estimation failure for the
 * `NoInternalOutOfGas` gas estimation mode, reported when an internal call
 * runs out of gas even when the transaction is executed with the maximum
 * amount of gas available.
 *
 * The `reason` discriminator it looks for is also what `hardhat node` puts on
 * the wire, so clients of an http connection can recognize the failure.
 */
export declare function isInternalCallOutOfGasErrorData(errorData: unknown): boolean;
//# sourceMappingURL=provider-errors.d.ts.map