import { IActionLog } from "../log/IActionLog";
import { ActionType } from "../base/ActionType";
import { ExecutorContext } from "./ExecutorContext";
import { AbsActionLog } from "../log/AbsActionLog";
export declare abstract class AbsActionExecutor<Data> {
    abstract type: ActionType;
    exec(actionLog: IActionLog, ctx: ExecutorContext): void;
    abstract execData(data: Data, ctx: ExecutorContext): void;
    abstract reverseLog(data: Data, ctx: ExecutorContext): AbsActionLog<any>;
}
//# sourceMappingURL=AbsActionExecutor.d.ts.map