import * as Shardus from '../shardus/shardus-types';
import StateManager from '.';
/**
 * Help provide a list of nodes that can be used to ask for data
 * Intialize the list and use the dataSourceNode
 * If you need another node to talk to call tryNextDataSourceNode
 */
export default class DataSourceHelper {
    stateManager: StateManager;
    dataSourceNode: Shardus.Node;
    dataSourceNodeList: Shardus.Node[];
    dataSourceNodeIndex: number;
    constructor(stateManager: StateManager);
    initWithList(listOfNdoes: Shardus.Node[]): void;
    initByRange(lowAddress: string, highAddress: string): void;
    /**
     * tryNextDataSourceNode
     * @param debugString
     */
    tryNextDataSourceNode(debugString: string): boolean;
    tryRestartList(debugString: string): boolean;
    getNumNodes(): number;
    removePotentiallyRemovedNodes(node: Shardus.Node): boolean;
}
