import { SequenceItem } from "./task.sequence.factories";
import { RunContext } from "./task.runner";
import { TaskReport } from "./task.runner";
import Rx = require('rx');
import { CrossbowConfiguration } from "./config";
import { CLI } from "./index";
import { RunCommandSetup } from "./command.run-cli";
export declare type RunComplete = Rx.Observable<RunCommandCompletionReport>;
export interface RunCommandCompletionReport {
    sequence: SequenceItem[];
    runtime: number;
    cli: CLI;
    config: CrossbowConfiguration;
    taskErrors: TaskReport[];
}
export interface CompletionReport {
    timestamp: number;
    value: TaskReport[];
}
export interface RunContextCompletion {
    timestamp: number;
    value: RunContext;
}
export default function executeRunCommand(runCommandSetup: RunCommandSetup, report: Function, config: CrossbowConfiguration): RunComplete;
