///
import { BlockchainStreamOptions, Client, SignedBlock } from "@hiveio/dhive";
import EventEmitter from "events";
import type { Follow } from "./types";
export declare function newClient(): Client;
export declare function getClient(): Client;
export declare function getNewClient(): Client;
export declare function getBlockStream(opts: BlockchainStreamOptions & {
ignoreEnd: boolean;
}): EventEmitter;
export declare function getCurrentBlockNum(): Promise;
export declare function getCurrentBlockNumWithRetry(): ReturnType;
export declare function getFollowing(accountName?: string): Promise;
export declare function getFollowingWithRetry(accountName?: string): ReturnType;
export declare function getCurrentBlock(): Promise<[SignedBlock, number]>;
export declare function getCurrentBlockWithRetry(): ReturnType;
export declare function getBlock(num?: number): Promise;
export declare function getBlockWithRetry(num?: number): ReturnType;
export declare function getEstimatedBlockNumber(duration?: Duration): Promise;
export declare function getEstimatedBlockNumberWithRetry(duration?: Duration): ReturnType;