import { Command, CommandOptions } from '@teambit/cli';
import { AspectMain } from './aspect.main.runtime';
export declare class ListAspectCmd implements Command {
    private aspect;
    name: string;
    description: string;
    arguments: {
        name: string;
        description: string;
    }[];
    options: CommandOptions;
    group: string;
    constructor(aspect: AspectMain);
    report([name]: [string], { debug }: {
        debug: boolean;
    }): Promise<string>;
}
export declare class ListCoreAspectCmd implements Command {
    private aspect;
    name: string;
    description: string;
    arguments: {
        name: string;
        description: string;
    }[];
    options: CommandOptions;
    group: string;
    constructor(aspect: AspectMain);
    report(): Promise<string>;
    json(): Promise<string[]>;
}
export type SetAspectOptions = {
    merge?: boolean;
};
export declare class SetAspectCmd implements Command {
    private aspect;
    name: string;
    description: string;
    arguments: {
        name: string;
        description: string;
    }[];
    options: CommandOptions;
    group: string;
    constructor(aspect: AspectMain);
    report([pattern, aspectId, config]: [string, string, string], options: SetAspectOptions): Promise<string>;
}
export declare class UpdateAspectCmd implements Command {
    private aspect;
    name: string;
    description: string;
    arguments: {
        name: string;
        description: string;
    }[];
    examples: {
        cmd: string;
        description: string;
    }[];
    options: never[];
    group: string;
    constructor(aspect: AspectMain);
    report([aspectId, pattern]: [string, string]): Promise<string>;
}
export declare class UnsetAspectCmd implements Command {
    private aspect;
    name: string;
    description: string;
    arguments: {
        name: string;
        description: string;
    }[];
    options: never[];
    group: string;
    constructor(aspect: AspectMain);
    report([pattern, aspectId]: [string, string]): Promise<string>;
}
export declare class GetAspectCmd implements Command {
    private aspect;
    name: string;
    description: string;
    arguments: {
        name: string;
        description: string;
    }[];
    options: CommandOptions;
    group: string;
    constructor(aspect: AspectMain);
    report([componentName]: [string], { debug }: {
        debug: boolean;
    }): Promise<string>;
    json([componentName]: [string], { debug }: {
        debug: boolean;
    }): Promise<{}>;
}
export declare class AspectCmd implements Command {
    name: string;
    alias: string;
    description: string;
    options: never[];
    group: string;
    commands: Command[];
    report([unrecognizedSubcommand]: [string]): Promise<string>;
}
