import { CommandTrigger } from "./command.run";
import { Tasks } from "./task.resolve";
import { SequenceItem } from "./task.sequence.factories";
import { Runner } from "./task.runner";
import { TaskReport } from "./task.runner";
import Rx = require('rx');
export declare enum RunCommandReportTypes {
    InvalidTasks,
    Complete,
}
export interface RunCommandErrorReport {
    type: RunCommandReportTypes;
    tasks: Tasks;
    sequence: SequenceItem[];
    runner: Runner;
}
export interface RunCommandCompletionReport extends RunCommandErrorReport {
    type: RunCommandReportTypes;
    reports: TaskReport[];
    decoratedSequence: SequenceItem[];
    runtime: number;
}
export interface CompletionReport {
    timestamp: number;
    value: TaskReport[];
}
export declare type RunCommandErrorStream = RunCommandErrorReport | Error;
export default function executeRunCommand(trigger: CommandTrigger): Rx.Observable<RunCommandErrorStream | RunCommandCompletionReport>;
