import { providers } from "ethers";
import { RPCProvider, RPCTransport } from "./types";
export declare function isSupportedProvider(provider: string): provider is RPCProvider;
export declare function getURL(provider: RPCProvider, chainId: number, apiKey: string, transport?: RPCTransport): string;
export declare function compareResultsAndFilterIgnoredKeys(ignoredKeys: string[], _objA: Record<string, unknown>, _objB: Record<string, unknown>): boolean;
export declare function compareArrayResultsWithIgnoredKeys(ignoredKeys: string[], objA: unknown[], objB: unknown[]): boolean;
export interface RateLimitTask {
    sendArgs: [string, Array<unknown>];
    resolve: (result: unknown) => void;
    reject: (err: unknown) => void;
}
export declare function formatProviderError(provider: providers.StaticJsonRpcProvider, rawErrorText: string): string;
export declare function createSendErrorWithMessage(message: string, sendError: unknown): Error;
export declare function parseJsonRpcError(response: unknown): {
    code: number;
    message: string;
    data?: unknown;
} | undefined;
export declare function compareRpcResults(method: string, rpcResultA: unknown, rpcResultB: unknown): boolean;
export declare function compareSvmRpcResults(_method: string, rpcResultA: unknown, rpcResultB: unknown): boolean;
export declare enum CacheType {
    NONE = 0,
    WITH_TTL = 1,
    NO_TTL = 2,
    DECIDE_TTL_POST_SEND = 3
}
