import { AppendableNode } from "./serializer/types";
export type CreateCommand = {
    command: "create";
} & AppendableNode;
export type DeleteCommand = {
    command: "delete";
} & AppendableNode;
export type UpdateCommand = {
    command: "update";
    commandPrev: Record<string, any>;
    commandNext?: Record<string, any>;
};
export type MoveCommand = {
    command: "move";
    commandFrom: string;
    commandTo: string;
};
export type GroupCommand = {
    command: "group";
    commandChildren: Array<string>;
    commandParents: Array<string>;
} & AppendableNode;
export type CommandRecord = Record<string, //uuid
//uuid
CreateCommand | DeleteCommand | UpdateCommand | MoveCommand | GroupCommand>;
export declare const pushUndoStack: (commandRecord: CommandRecord) => void;
export declare const undo: () => void;
export declare const redo: () => void;
