/// import { RendererProps } from '../factory'; import { ConditionGroupValue } from '../types'; import { RendererEvent } from '../utils/renderer-event'; import { IBreakAction } from './BreakAction'; import { IContinueAction } from './ContinueAction'; import { ILoopAction } from './LoopAction'; import { IParallelAction } from './ParallelAction'; import { ISwitchAction } from './SwitchAction'; export declare enum LoopStatus { NORMAL = 0, BREAK = 1, CONTINUE = 2 } export interface ListenerAction { actionType: string; description?: string; componentId?: string; componentName?: string; ignoreError?: boolean; args?: Record; data?: Record | null; dataMergeMode?: 'merge' | 'override'; outputVar?: string; preventDefault?: boolean; stopPropagation?: boolean; expression?: string | ConditionGroupValue; execOn?: string; [propName: string]: any; } export interface ILogicAction extends ListenerAction { children?: ListenerAction[]; } export type LogicAction = IParallelAction | ISwitchAction | ILoopAction | IContinueAction | IBreakAction; export interface ListenerContext extends React.Component { [propName: string]: any; } interface MappingIgnoreMap { [propName: string]: string[]; } export interface RendererAction { run: (action: ListenerAction, renderer: ListenerContext, event: RendererEvent, mergeData?: any) => Promise | void>; } export declare const registerAction: (type: string, action: RendererAction) => void; export declare const getActionByType: (type: string) => RendererAction; export declare const getTargetComponent: (action: ListenerAction, renderer: ListenerContext, event: RendererEvent, key?: string) => ListenerContext; export declare const runActions: (actions: ListenerAction | ListenerAction[], renderer: ListenerContext, event: any) => Promise; export declare const runAction: (actionInstrance: RendererAction, actionConfig: ListenerAction, renderer: ListenerContext, event: any) => Promise; export declare const registerActionMappingIgnoreKey: (actionType: string, ignoreKey: string[], replace?: boolean) => void; export declare const registerActionMappingIgnoreMap: (maps: MappingIgnoreMap, replace?: boolean) => void; export declare const registerComponentActionMappingIgnoreKey: (cmptType: string, ignoreKey: string[], replace?: boolean) => void; export declare const registerComponentActionMappingIgnoreMap: (maps: MappingIgnoreMap, replace?: boolean) => void; export {};