import { AnyValue, TransformTemplate } from '../types'; export interface FlowSpec { tasks?: TaskSpecMap; configs?: FlowConfigs; options?: FlowOptions; } export declare class TaskSpecMap { [code: string]: TaskSpec; } export interface TaskSpec { requires?: string[]; provides?: string[]; defaultResult?: AnyValue; resolver?: TaskResolverSpec; } export interface TaskResolverSpec { name: string; params?: TaskParamsMap; results?: TaskResultsMap; } export interface TaskParamsMap { [code: string]: string | ResolverParamInfoValue | ResolverParamInfoTransform; } export interface ResolverParamInfoValue { value: AnyValue; } export interface ResolverParamInfoTransform { transform: TransformTemplate; } export interface TaskResultsMap { [code: string]: AnyValue; } export interface FlowOptions { throwErrorOnUnsolvableResult?: boolean; resolverAutomapParams?: boolean; resolverAutomapResults?: boolean; } export type FlowConfigs = FlowOptions;