import type { StorageNodeSelectorConfig, StorageNodeSelectorService } from './types';
export declare class StorageNodeSelector implements StorageNodeSelectorService {
    private readonly config;
    private readonly auth;
    private readonly logger;
    private nodes;
    private orderedNodes?;
    private selectedNode?;
    private selectedDiscoveryNode?;
    private selectionState;
    private readonly discoveryNodeSelector?;
    private readonly initialDiscoveryFetchPromise;
    private resolveInitialDiscoveryFetchPromise;
    constructor(config: StorageNodeSelectorConfig);
    private checkIfDiscoveryNodeAlreadyAvailable;
    private onChangeDiscoveryNode;
    getSelectedNode(forceReselect?: boolean): Promise<string | null>;
    triedSelectingAllNodes(): boolean;
    getNodes(cid: string): string[];
    private select;
    private selectUntilEndOfList;
    private orderNodes;
}
