import { App } from '..';
import Vertex from '../common/Vertex';
import { LogicItem } from '../logic/LogicItem';
export interface Operation {
    operationAction: string;
    operationDesc: string;
    operationBeforeImage: any;
    operationAfterImage: any;
    activeImage?: any;
}
export interface OperationHandler {
    context: Vertex | {
        new (): LogicItem;
    };
    undoAction: string;
    undoActionParam: string;
    redoAction: string;
    redoActionParam: string;
}
export declare class History {
    app: App;
    undoCount: number;
    redoCount: number;
    undoStack: Array<Operation>;
    redoStack: Array<Operation>;
    constructor(source: any);
    /**
     * 加载 undoRedo 栈
     * @param operation 失败时用于前端模拟
     */
    load(operation?: Operation): Promise<void>;
    undo(): Promise<Operation>;
    redo(): Promise<Operation>;
    clear(): void;
}
export default History;
