import { ActionStatus } from '../const/enums';
import { HistoryNode } from './time-travel';
import { MutationConfig } from '../decorators/mutation';
export declare const actionPool: Action[];
export declare class Action {
    static context?: Action;
    static create(name: string, displayName?: string): Action;
    static abortAll(revert?: boolean): void;
    static get(...args: string[]): Action[];
    name: string;
    displayName: string;
    status: ActionStatus;
    historyNode: HistoryNode;
    execute(runner: (...payload: any[]) => void | Promise<void>, payload?: any[], isWrapMutation?: boolean, options?: MutationConfig): Promise<void> | void;
    complete(): void;
    undo(keepHistory?: boolean): void;
    redo(keepHistory?: boolean): void;
    abort(revert?: boolean): void;
}
