import { Pipeline, Output } from '@artus/pipeline';
import { Application } from '@artus/core';
import { CommandContext, CommandInput } from './context';
import { ParsedCommand } from './parsed_command';
export default class CommandPipeline extends Pipeline {
    app: Application;
    get container(): import("@artus/injection").Container;
    start(): Promise<void>;
    /** override artus context */
    initContext(input?: CommandInput, output?: Output): Promise<CommandContext>;
    /** start a pipeline and execute */
    executePipeline(input?: Partial<CommandInput['params']>): Promise<void>;
    /** execute command in pipeline */
    executeCommand(ctx: CommandContext, cmd: ParsedCommand): Promise<{
        result: any;
    }>;
}
