import { ChangedEvent } from 'gojs'; import { BaseNodeModel, LinkModel, DiagramModel } from '.'; import { ModelChangeEvent } from './modelChangeEvent'; export interface ModelChangedHandler { canHandle: (evt: ChangedEvent) => boolean; handle: (evt: ChangedEvent, model: DiagramModel, diagramNotificationDelegate: DiagramNotificationDelegate) => void; } export interface DiagramNotificationDelegate { enqueueEvent(event: ModelChangeEvent): any; clear(): any; dispatchAll(): any; } export declare class AddNodeModelChangedHandler implements ModelChangedHandler { canHandle(evt: ChangedEvent): boolean; handle(evt: ChangedEvent, model: DiagramModel, diagramNotificationDelegate: DiagramNotificationDelegate): void; } export declare class AddLinkModelChangedHandler implements ModelChangedHandler { canHandle(evt: ChangedEvent): boolean; handle(evt: ChangedEvent, model: DiagramModel, diagramNotificationDelegate: DiagramNotificationDelegate): void; } export declare class RemoveNodeModelChangedHandler implements ModelChangedHandler { canHandle(evt: ChangedEvent): boolean; handle(evt: ChangedEvent, model: DiagramModel, diagramNotificationDelegate: DiagramNotificationDelegate): void; } export declare class RemoveLinkModelChangedHandler implements ModelChangedHandler { canHandle(evt: ChangedEvent): boolean; handle(evt: ChangedEvent, model: DiagramModel, diagramNotificationDelegate: DiagramNotificationDelegate): void; } export declare class GroupNodeModelChangedHandler implements ModelChangedHandler { canHandle(evt: ChangedEvent): boolean; handle(evt: ChangedEvent, model: DiagramModel, diagramNotificationDelegate: DiagramNotificationDelegate): void; } export declare class BeginTransactionHandler implements ModelChangedHandler { canHandle(evt: ChangedEvent): boolean; handle(evt: ChangedEvent, model: DiagramModel, diagramNotificationDelegate: DiagramNotificationDelegate): void; } export declare class CommitTransactionHandler implements ModelChangedHandler { canHandle(evt: ChangedEvent): boolean; handle(evt: ChangedEvent, model: DiagramModel, diagramNotificationDelegate: DiagramNotificationDelegate): void; }