declare global { interface HTMLElementEventMap { navigate: CustomEvent; selectionchange: CustomEvent; positionschange: CustomEvent; } } export interface NodeData { readonly key: string; readonly typeName?: string; readonly displayName: string; readonly shortName?: string; readonly style: string; readonly attributes?: { [name: string]: string | number | boolean; }; } export interface EdgeData { readonly key: string; readonly displayName?: string; readonly fromNode: string; readonly toNode: string; readonly style: string; readonly fromLabel?: string; readonly toLabel?: string; readonly attributes?: { [name: string]: string | number | boolean; }; } export interface NodePosition { readonly nodeKey: string; readonly x: number; readonly y: number; } export interface PositionsCleared { type: "clear"; } export interface PositionRemoved { type: "remove"; nodeKey: string; } export interface PositionUpserted { type: "upsert"; position: NodePosition; } export declare type PositionsChange = PositionsCleared | PositionRemoved | PositionUpserted; export interface GraphData { nodes: readonly NodeData[]; edges: readonly EdgeData[]; positions?: readonly NodePosition[]; }