import { CommandBase } from "../command-base";
import { IBuildCommand, IBuildCommandOptions } from "./i-build-command";
import { ICommandOption } from "../i-command-option";
import { BuildTaskWrapper } from "../../task/build-task/i-build-task";
import { IBuildConfig } from "../../build-config/i-build-config";
/**
 * A command that builds a Fovea app
 */
export declare class BuildCommand extends CommandBase implements IBuildCommand {
    private readonly config;
    private readonly buildTaskWrapper;
    /**
     * The command name
     * @type {string}
     */
    readonly shortName: string;
    /**
     * The rest of the command, following the short name
     * @type {string?}
     */
    readonly command: string | undefined;
    /**
     * The description of the command
     * @type {string}
     */
    readonly description: string;
    /**
     * The options that can be provided to the command
     * @type {ICommandOption[]}
     */
    readonly options: ICommandOption[];
    constructor(config: IBuildConfig, buildTaskWrapper: BuildTaskWrapper);
    /**
     * Invoked when a command is received with options
     * @param {string[]} _args
     * @param {IBuildCommandOptions} options
     * @returns {Promise<void>}
     */
    onCommand(_args: string[], options: IBuildCommandOptions): Promise<void>;
}
