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[];
}