import { Network } from '../../node_modules/@btc-vision/bitcoin/build/index.js';
import { default as Agent } from '../fetch/fetch-browser.js/types/agent.js';
import { AbstractRpcProvider } from './AbstractRpcProvider.js';
import { JsonRpcPayload } from './interfaces/JSONRpc.js';
import { JsonRpcCallResult } from './interfaces/JSONRpcResult.js';
export interface JSONRpcProviderConfig {
    readonly url: string;
    readonly network: Network;
    readonly timeout?: number;
    readonly fetcherConfigurations?: Agent.Options;
    readonly useThreadedParsing?: boolean;
    readonly useThreadedHttp?: boolean;
}
export declare class JSONRpcProvider extends AbstractRpcProvider {
    readonly url: string;
    private readonly timeout;
    private readonly fetcherConfigurations;
    private readonly useThreadedParsing;
    private readonly useThreadedHttp;
    private _fetcherWithCleanup;
    constructor(config: JSONRpcProviderConfig);
    private get fetcher();
    close(): Promise<void>;
    _send(payload: JsonRpcPayload | JsonRpcPayload[]): Promise<JsonRpcCallResult>;
    protected providerUrl(url: string): string;
    private parseResponse;
}
