import { BitId } from '../bit-id';
import Remote from './remote';
import ComponentObjects from '../scope/component-objects';
import Scope from '../scope/scope';
import DependencyGraph from '../scope/graph/scope-graph';
export default class Remotes extends Map<string, Remote> {
    constructor(remotes?: [string, Remote][]);
    validate(): void;
    resolve(scopeName: string, thisScope?: Scope | null | undefined): Promise<Remote>;
    isHub(scope: any): boolean;
    fetch(ids: BitId[], thisScope: Scope, withoutDeps?: boolean, context?: Record<string, any>): Promise<ComponentObjects[]>;
    latestVersions(ids: BitId[], thisScope: Scope): Promise<BitId[]>;
    scopeGraphs(ids: BitId[], thisScope: Scope): Promise<DependencyGraph[]>;
    _groupByScopeName(ids: BitId[]): {
        [scopeName: string]: BitId[];
    };
    toPlainObject(): {};
    static getScopeRemote(scopeName: string): Promise<Remote>;
    static getGlobalRemotes(): Promise<Remotes>;
    static load(remotes: {
        [key: string]: string;
    }): Remotes;
}
