import { Command, CommandOptions } from '@teambit/cli';
import { CapsuleList, IsolatorMain } from '@teambit/isolator';
import type { ScopeMain } from '@teambit/scope';
import { Workspace } from './workspace';
type CreateOpts = {
    baseDir?: string;
    rootBaseDir?: string;
    alwaysNew?: boolean;
    seedersOnly?: boolean;
    useHash?: boolean;
    id: string;
    installPackages?: boolean;
};
export declare class CapsuleCreateCmd implements Command {
    private workspace;
    private scope;
    private isolator;
    name: string;
    description: string;
    helpUrl: string;
    group: string;
    alias: string;
    options: CommandOptions;
    constructor(workspace: Workspace | undefined, scope: ScopeMain, isolator: IsolatorMain);
    create([componentIds]: [string[]], { baseDir, rootBaseDir, alwaysNew, id, installPackages, seedersOnly, useHash }: CreateOpts): Promise<CapsuleList>;
    report([componentIds]: [string[]], opts: CreateOpts): Promise<string>;
    json([componentIds]: [string[]], opts: CreateOpts): Promise<{
        id: string;
        path: string;
    }[]>;
}
export declare class CapsuleListCmd implements Command {
    private isolator;
    private workspace;
    private scope;
    name: string;
    description: string;
    group: string;
    alias: string;
    options: CommandOptions;
    constructor(isolator: IsolatorMain, workspace: Workspace | undefined, scope: ScopeMain);
    report(): Promise<string>;
    json(): Promise<{
        capsules: string[];
        scopeCapsules: string[];
        workspaceCapsulesRootDir: any;
        scopeAspectsCapsulesRootDir: any;
    }>;
    private getCapsulesRootDirs;
}
export declare class CapsuleDeleteCmd implements Command {
    private isolator;
    private scope;
    private workspace?;
    name: string;
    description: string;
    extendedDescription: string;
    group: string;
    alias: string;
    options: CommandOptions;
    constructor(isolator: IsolatorMain, scope: ScopeMain, workspace?: Workspace | undefined);
    report(args: [], { all, scopeAspects }: {
        all: boolean;
        scopeAspects: boolean;
    }): Promise<string>;
}
export declare class CapsuleCmd implements Command {
    private isolator;
    private workspace;
    private scope;
    name: string;
    description: string;
    extendedDescription: string;
    alias: string;
    group: string;
    commands: Command[];
    options: CommandOptions;
    constructor(isolator: IsolatorMain, workspace: Workspace | undefined, scope: ScopeMain);
    report(args: [string]): Promise<string>;
}
export {};
