import Request from "../jsonrpc/Request";
import HttpCall from "./client/HttpCall";
import MonitorSpec from "../monitor/MonitorSpec";
import Monitor from "../monitor/Monitor";
import BigNumber from "bignumber.js";
/**
 * Class representing HTTP-based provider
 */
export default class HttpProvider {
    readonly url: string;
    /**
     * Creates an instance of HttpProvider.
     * @param {string} url - The url of http provider.
     */
    constructor(url: string);
    request<T = unknown>(request: Request, converter?: (result: any) => T): HttpCall<T>;
    monitor<T>(request: MonitorSpec, ondata: (data: T) => void, onerror: (error: any) => void, onprogress?: (height: BigNumber) => void): Monitor<T>;
}
