import { Scope } from '..';
import { Remotes } from '../../remotes';
import { BitId, BitIds } from '../../bit-id';
import VersionDependencies from '../version-dependencies';
import SourcesRepository from '../repositories/sources';
import ComponentVersion from '../component-version';
import ComponentObjects from '../component-objects';
import ConsumerComponent from '../../consumer/component';
import { ModelComponent } from '../models';
export default class ScopeComponentsImporter {
    scope: Scope;
    sources: SourcesRepository;
    constructor(scope: Scope);
    static getInstance(scope: Scope): ScopeComponentsImporter;
    importMany(ids: BitIds, cache?: boolean, persist?: boolean): Promise<VersionDependencies[]>;
    importManyWithoutDependencies(ids: BitIds, cache?: boolean): Promise<ComponentVersion[]>;
    importManyWithAllVersions(ids: BitIds, cache?: boolean, allDepsVersions?: boolean): Promise<VersionDependencies[]>;
    importDependencies(dependencies: BitIds): Promise<VersionDependencies[]>;
    componentToVersionDependencies(component: ModelComponent, id: BitId): Promise<VersionDependencies>;
    componentsToComponentsObjects(components: Array<VersionDependencies | ComponentVersion>, clientVersion: string | null | undefined): Promise<ComponentObjects[]>;
    loadRemoteComponent(id: BitId): Promise<ConsumerComponent>;
    loadComponent(id: BitId, localOnly?: boolean): Promise<ConsumerComponent>;
    _getExternalMany(ids: BitId[], remotes: Remotes, localFetch?: boolean, persist?: boolean, context?: Record<string, any>): Promise<VersionDependencies[]>;
    _getExternal({ id, remotes, localFetch, context }: {
        id: BitId;
        remotes: Remotes;
        localFetch: boolean;
        context?: Record<string, any>;
    }): Promise<VersionDependencies>;
    _getExternalWithoutDependencies({ id, remotes, localFetch, context }: {
        id: BitId;
        remotes: Remotes;
        localFetch: boolean;
        context?: Record<string, any>;
    }): Promise<ComponentVersion>;
    _getExternalManyWithoutDependencies(ids: BitId[], remotes: Remotes, localFetch?: boolean, context?: Record<string, any>): Promise<ComponentVersion[]>;
    _getComponentVersion(id: BitId): Promise<ComponentVersion>;
}
