import { ActorSystem } from 'xstate'; import { BaseEditorActorRef } from '../../editor/actor/setup'; import { NavigationPanelActorRef } from '../../navigationpanel/actor'; import { OverlaysActorRef } from '../../overlays/overlaysActor'; import { SearchActorRef } from '../../search/searchActor'; import { DiagramMachineRef } from './machine'; export type NodeWithData = { id: string; data: Record; }; export type System = ActorSystem<{ actors: { diagram: DiagramMachineRef; overlays: OverlaysActorRef; search: SearchActorRef; editor: BaseEditorActorRef; navigationPanel: NavigationPanelActorRef; }; }>; export interface DiagramActorRef extends DiagramMachineRef { system: System; } export type { DiagramContext, DiagramEmittedEvents, DiagramEvents, DiagramMachineSnapshot as DiagramActorSnapshot, } from './machine';