import { Task } from "./task.resolve"; import { CommandTrigger } from "./command.run"; import { TaskStats } from "./task.runner"; export declare enum SequenceItemTypes { SeriesGroup, ParallelGroup, Task, } export interface SequenceItem { type: SequenceItemTypes; taskName?: string; task?: Task; items: SequenceItem[]; factory?: (opts: any, ctx: CommandTrigger, observer: Rx.Observer) => any; fnName?: string; options?: any; subTaskName?: string; stats?: TaskStats; seqUID: number; skipped?: boolean; viaName?: string; } export interface SequenceSeriesGroup { taskName: string; skipped: boolean; items: any[]; } export interface SequenceParallelGroup extends SequenceSeriesGroup { } export interface SequenceTask { fnName: string; factory: TaskFactory; task: Task; options: any; subTaskName?: string; viaName?: string; } export interface TaskFactory { (task: Task, trigger: CommandTrigger): any; tasks?: TaskFactory[]; name?: string; } export declare function createSequenceTaskItem(incoming: SequenceTask): SequenceItem; export declare function createSequenceSeriesGroup(incoming: SequenceSeriesGroup): SequenceItem; export declare function createSequenceParallelGroup(incoming: SequenceParallelGroup): SequenceItem;