import { ComponentSchema } from '@subscan/widget-core';
import { RegistryInterface } from '@subscan/widget-runtime';
import { EventBusType } from '../services/eventBus';
import { AppModel } from '../AppModel/AppModel';
import { IUndoRedoManager, IOperation, OperationList } from './type';
import { type BatchBranchOperationContext } from './branch/batch';
export declare class AppModelManager implements IUndoRedoManager {
    private eventBus;
    private registry;
    appModel: AppModel;
    operationStack: OperationList<IOperation>;
    constructor(eventBus: EventBusType, registry: RegistryInterface, initComponents: ComponentSchema[]);
    updateComponents(appModel: AppModel): void;
    do(operation: IOperation): void;
    redo(): void;
    undo(): void;
    doOperations(operations: BatchBranchOperationContext['operations']): void;
}
