import { CommandTrigger } from "./command.run"; import { CrossbowConfiguration } from "./config"; import { CrossbowInput, CLI, CrossbowReporter } from "./index"; import { WatchRunners } from "./watch.runner"; import { WatchTasks } from "./watch.resolve"; import { BeforeTasks } from "./watch.before"; import Rx = require("rx"); import { WatchTaskReport, WatchRunnerComplete } from "./watch.file-watcher"; import { ReportTypes } from "./reporter.resolve"; export interface CrossbowError extends Error { _cb: boolean; } export interface WatchCommandSetupErrors { type: ReportTypes; } export interface WatchCommandOutput { setup: WatchCommandSetup; update$: Rx.Observable; } export interface WatchCommandSetup { beforeTasks?: BeforeTasks; watchTasks?: WatchTasks; watchRunners?: WatchRunners; errors: WatchCommandSetupErrors[]; } export declare type WatchCommmandComplete = Rx.Observable; export interface WatchReport { type: WatchCommandEventTypes; data: WatchTaskReport | WatchRunnerComplete; } export declare enum WatchCommandEventTypes { SetupError, FileEvent, WatchTaskReport, WatchRunnerComplete, BeforeTasksComplete, } export default function handleIncomingWatchCommand(cli: CLI, input: CrossbowInput, config: CrossbowConfiguration, reporter: CrossbowReporter): WatchCommmandComplete; export declare function getWatchCommandSetup(trigger: CommandTrigger): WatchCommandSetup;