import { Harmony } from '@teambit/harmony';
import { Consumer } from '../../consumer';
import { ScopeExtension } from '../scope';
import { Component, ComponentFactory, ComponentID } from '../component';
import ComponentsList from '../../consumer/component/components-list';
import { BitId } from '../../bit-id';
import { IsolatorExtension } from '../isolator';
import { ResolvedComponent } from '../utils/resolved-component/resolved-component';
import { PathOsBasedRelative, PathOsBased } from '../../utils/path';
import { AddActionResults } from '../../consumer/component-ops/add-components/add-components';
import { IExtensionConfigList } from '../../consumer/config';
import { DependencyResolverExtension } from '../dependency-resolver';
import { WorkspaceExtConfig } from './types';
import { ComponentHost, LogPublisher } from '../types';
import { Variants } from '../variants';
import { ComponentScopeDirMap } from '../config/workspace-config';
export default class Workspace implements ComponentHost {
    private config;
    consumer: Consumer;
    readonly scope: ScopeExtension;
    private componentFactory;
    readonly isolateEnv: IsolatorExtension;
    private dependencyResolver;
    private variants;
    private logger;
    private componentList;
    private harmony;
    owner?: string;
    componentsScopeDirsMap: ComponentScopeDirMap;
    constructor(config: WorkspaceExtConfig, consumer: Consumer, scope: ScopeExtension, componentFactory: ComponentFactory, isolateEnv: IsolatorExtension, dependencyResolver: DependencyResolverExtension, variants: Variants, logger: LogPublisher, componentList: ComponentsList, harmony: Harmony);
    get path(): string;
    status(): void;
    list(): Promise<Component[]>;
    private transformLegacyComponents;
    modified(): Promise<any>;
    newComponents(): Promise<any>;
    loadCapsules(bitIds: string[]): Promise<import("../isolator").Capsule[]>;
    load(ids: Array<BitId | string>): Promise<ResolvedComponent[]>;
    get(id: string | BitId | ComponentID): Promise<Component | undefined>;
    byPattern(pattern: string): Promise<Component[]>;
    getMany(ids: Array<BitId | string>): Promise<Component[]>;
    add(componentPaths: PathOsBasedRelative[], id?: string, main?: string, override?: boolean): Promise<AddActionResults>;
    componentDir(componentId: BitId, relative?: boolean): PathOsBased | undefined;
    private inlineComponentConfig;
    loadExtensions(extensions: IExtensionConfigList): Promise<void>;
    install(): Promise<ResolvedComponent[]>;
    _reloadConsumer(): Promise<void>;
    get defaultDirectory(): string;
    get legacyDefaultDirectory(): string;
}
