import Rx = require('rx');
import { CLI, CrossbowInput } from './index';
import { CrossbowConfiguration } from './config';
import { SequenceItem } from './task.sequence.factories';
import { Tasks } from './task.resolve';
import { Runner } from './task.runner';
import Immutable = require('immutable');
export interface CommandTrigger {
    type: TriggerTypes;
    cli: CLI;
    input: CrossbowInput;
    config: CrossbowConfiguration;
    tracker?: any;
    tracker$?: any;
    shared?: Rx.BehaviorSubject<Immutable.Map<string, any>>;
}
export interface RunCommandSetup {
    tasks: Tasks;
    sequence: SequenceItem[];
    runner: Runner;
    cli: CLI;
}
export declare enum TriggerTypes {
    command,
    watcher,
}
export default function handleIncomingRunCommand(cli: CLI, input: CrossbowInput, config: CrossbowConfiguration, report: any): void;
