import type { Action, ActionParameters, DI_TOKEN } from '@tramvai/core'; import type { CONTEXT_TOKEN, ActionCondition, STORE_TOKEN, ActionExecution as Interface, EXECUTION_CONTEXT_MANAGER_TOKEN, ExecutionContext, DEFERRED_ACTIONS_MAP_TOKEN, ACTION_EXECUTION_HOOKS_TOKEN } from '@tramvai/tokens-common'; import type { TramvaiAction } from '@tramvai/types-actions-state-context'; import type { ExtractDependencyType } from '@tinkoff/dippy'; export declare const getParameters: (action: Action) => ActionParameters; type ExecutionStatus = 'success' | 'failed' | 'pending' | 'forbidden'; export interface ExecutionState { status: ExecutionStatus; forbiddenBy?: string; state: Record; } type TransformAction = (action: T) => T; export declare class ActionExecution implements Interface { execution: Map; private actionConditionals; private context; private deferredActionsMap; private store; private hooks; private executionContextManager; private di; private transformAction; constructor({ store, context, deferredActionsMap, hooks, di, executionContextManager, actionConditionals, transformAction, }: { actionConditionals: (ActionCondition | ActionCondition[])[] | null; store: ExtractDependencyType; context: ExtractDependencyType; hooks: ExtractDependencyType; deferredActionsMap: ExtractDependencyType; di: ExtractDependencyType; executionContextManager: ExtractDependencyType; transformAction?: TransformAction; }); runInContext(executionContext: ExecutionContext | null, action: Action | TramvaiAction, ...params: any[]): Promise; run(action: Action | TramvaiAction, ...params: any[]): Promise; canExecute(action: Action | TramvaiAction): boolean; private getActionParameters; private getExecutionState; private canExecuteAction; private createActionContext; } export {}; //# sourceMappingURL=actionExecution.d.ts.map