import { Environments } from '../environments';
import { Workspace } from '../workspace';
import { Component } from '../component';
import { BuilderService } from './builder.service';
import { BitId } from '../../bit-id';
import { ScopeExtension } from '../scope';
import { IsolatorExtension } from '../isolator';
import { CLIExtension } from '../cli';
import { Reporter } from '../reporter';
import { Logger } from '../logger';
export declare type BuilderConfig = {
    parallel: 10;
};
export declare class BuilderExtension {
    private envs;
    private workspace;
    private service;
    static id: string;
    static dependencies: (import("@teambit/harmony").ExtensionManifest | typeof Environments | {
        name: string;
        dependencies: never[];
        config: {};
        provider: typeof import("../logger/logger.provider").provideLogger;
    } | typeof CLIExtension | {
        name: string;
        dependencies: {
            name: string;
            dependencies: never[];
            config: {};
            provider: typeof import("../logger/logger.provider").provideLogger;
        }[];
        config: {};
        provider: typeof import("../reporter/reporter.provider").provideReporter;
    } | typeof IsolatorExtension | typeof ScopeExtension)[];
    constructor(envs: Environments, workspace: Workspace, service: BuilderService);
    tagListener(ids: BitId[]): Promise<{
        env: string;
        res: any;
    }[]>;
    build(components: Component[]): Promise<{
        env: string;
        res: any;
    }[]>;
    static provider([cli, envs, workspace, scope, isolator, reporter, logger]: [CLIExtension, Environments, Workspace, ScopeExtension, IsolatorExtension, Reporter, Logger]): Promise<BuilderExtension>;
}
