import Namespace from "./namespace";
import RPCClient from "../rpcclient";
/**
 * Miner handles mining operations
 * on a node.
 *
 * @export
 * @class Miner
 * @extends {Namespace}
 */
export default class Miner extends Namespace {
    /**
     *Creates an instance of Miner.
     * @param {RPCClient} client
     * @memberof Miner
     */
    constructor(client: RPCClient);
    /**
     * Start the miner on the node
     *
     * @returns {Promise<Boolean>}
     * @memberof Miner
     */
    start(): Promise<Boolean>;
    /**
     * Stop the miner on the node
     *
     * @returns {Promise<Boolean>}
     * @memberof Miner
     */
    stop(): Promise<Boolean>;
    /**
     * Check whether the miner has is running
     *
     * @returns {Promise<Boolean>}
     * @memberof Miner
     */
    isMining(): Promise<Boolean>;
    /**
     * Get the hashrate of the miner
     *
     * @returns {Promise<number>}
     * @memberof Miner
     */
    getHashrate(): Promise<number>;
    /**
     * Get the number of miner threads
     *
     * @returns {Promise<number>}
     * @memberof Miner
     */
    numThreads(): Promise<number>;
    /**
     * Set the number of miner threads
     * to run.
     *
     * @param {number} num
     * @returns {Promise<number>}
     * @memberof Miner
     */
    setThreads(num: number): Promise<number>;
}
