import { IFormBaseControl } from "../../core-form/core-form/enum-interfaces"; import { IRuleTree } from "../../core-rule-tree/interfaces"; import { IActorAssignment } from "./IActorAssignment"; export interface IStepConfig extends IActorStepConfig, IStepRuleConfig, IStepFormConfig, IStepExecutionConfig { } export interface IStepRuleConfig { ruleTree?: IRuleTree; fields?: IFormBaseControl[]; isFallback?: boolean; fallbackType?: 'next-branch' | 'hard-block' | 'soft-warn'; fallbackMessage?: string; } export interface IActorStepConfig { actors?: IActorAssignment; routingLogic?: 'parallel' | 'short-circuit' | 'sequential'; } export interface IStepFormConfig { formUi?: FormUi; } export interface IStepExecutionConfig { executionConfig?: ExecutionConfig; } export type FormUi = { hidden?: Record; readonly?: Record; required?: Record; reset?: Record; }; export type ExecutionConfig = { executionMode?: 'NORMAL' | 'AUTO'; notifyActorsOnAutoExecution?: boolean; };