import { WatchOptions } from "chokidar"; import { WatchTaskError } from "./watch.errors"; import { CrossbowInput } from "./index"; import { Tasks } from "./task.resolve"; import { SequenceItem } from "./task.sequence.factories"; import { Runner } from "./task.runner"; import { CommandTrigger } from "./command.run"; import { TaskCollection } from "./task.resolve"; export declare const defaultWatchOptions: CBWatchOptions; export interface CBWatchOptions extends WatchOptions { throttle: number; debounce: number; delay: number; block: boolean; } export interface WatchTask { before: string[]; options: CBWatchOptions; watchers: Watcher[]; name: string; errors: WatchTaskError[]; patterns?: string[]; tasks?: string[]; } export interface Watcher { patterns: string[]; tasks: TaskCollection; options: any; watcherUID: string; _tasks?: Tasks; _sequence?: SequenceItem[]; _runner?: Runner; parent?: string; } export interface WatchTasks { valid: WatchTask[]; invalid: WatchTask[]; all: WatchTask[]; } export declare function resolveWatchTasks(taskNames: string[], trigger: CommandTrigger): WatchTasks; /** * The goal of this function is to produce a flat array containing tasks as strings * this allows us to feed that into the task resolution stuff */ export declare function resolveBeforeTasks(beforeFlagsFromCliOrConfig: string[], input: CrossbowInput, watchTasks: WatchTask[]): string[];