import { AbsActionExecutor } from "../../AbsActionExecutor";
import { UpdateNodeData, UpdateNodeInfo } from "../../../log/data/UpdateNodeData";
import { ActionType } from "../../../base/ActionType";
import { ExecutorContext } from "../../ExecutorContext";
import { UpdateNodeLog } from "../../../log/node/UpdateNodeLog";
import { GraphicNode } from "../../../../graphics";
import { AbsPropsHandler } from "./handler/AbsPropsHandler";
export declare class UpdateExecutor extends AbsActionExecutor<UpdateNodeData> {
    type: ActionType;
    handlers: AbsPropsHandler[];
    execData(data: UpdateNodeData, ctx: ExecutorContext): void;
    execNodeInfo(info: UpdateNodeInfo, ctx: ExecutorContext): void;
    private getToolBarBounds;
    private boundsChanged;
    protected changeParent(node: GraphicNode, ctx: ExecutorContext, parentId?: string): void;
    private isDescendantParent;
    removeIndexNode(node: GraphicNode, ctx: ExecutorContext): void;
    addIndexNode(node: GraphicNode, ctx: ExecutorContext): void;
    private walkNodeTree;
    reverseLog(data: UpdateNodeData, ctx: ExecutorContext): UpdateNodeLog;
}
//# sourceMappingURL=UpdateExecutor.d.ts.map