import { AnyValue, FlowedLogEntry, FlowStateEnum, OptPromise, TaskResolverExecutor, TaskResolverMap, ValueMap } from '../../types'; import { FlowRunStatus, SerializedFlowRunStatus } from '../flow-run-status'; import { Task } from '../task'; import { TaskProcess } from '../task-process'; import { IFlow } from './iflow'; export declare abstract class FlowState implements IFlow { protected static builtInResolvers: TaskResolverMap; protected runStatus: FlowRunStatus; constructor(runStatus: FlowRunStatus); start(params: ValueMap, expectedResults: string[], resolvers: TaskResolverMap, context: ValueMap, _options?: ValueMap): OptPromise; finished(_error?: Error | boolean): void; pause(): Promise; paused(_error?: Error | boolean): void; resume(): Promise; stop(): Promise; stopped(_error?: Error | boolean): void; reset(): void; abstract getStateCode(): FlowStateEnum; execFinishResolve(): void; execFinishReject(error: Error): void; isRunning(): boolean; setExpectedResults(expectedResults: string[]): void; getResults(): ValueMap; setResolvers(resolvers: TaskResolverMap): void; setContext(context: ValueMap): void; setRunOptions(options: ValueMap): void; supplyParameters(params: ValueMap): void; createFinishPromise(): void; getResolverForTask(task: Task): TaskResolverExecutor; getResolverByName(name: string): TaskResolverExecutor | null; getResolvers(): TaskResolverMap; supplyResult(resultName: string, result: AnyValue): void; getStateInstance(state: FlowStateEnum): FlowState; startReadyTasks(): void; setState(newState: FlowStateEnum): void; getSerializableState(): SerializedFlowRunStatus; protected processFinished(process: TaskProcess, error: Error | boolean, stopFlowExecutionOnError: boolean): void; protected postProcessFinished(_error: Error | boolean, _stopFlowExecutionOnError: boolean): void; protected createTransitionError(transition: string): Error; protected createMethodError(method: string): Error; debug(formatter: string, ...args: AnyValue[]): void; static formatDebugMessage({ n, m, l, e }: { n?: number; m: string; mp?: ValueMap; l?: string; e?: string; }): string; static createLogEntry({ n, m, mp, l, e, pid, task }: { n?: number; m: string; mp?: ValueMap; l?: string; e?: string; pid?: number; task?: AnyValue; }, flowStatus?: FlowRunStatus): FlowedLogEntry; log({ n, m, mp, l, e, pid, task }: { n?: number; m: string; mp?: ValueMap; l?: string; e?: string; pid?: number; task?: AnyValue; }): void; }