export type anyFunction = (...params: any[]) => any;
export interface LooseObject {
  [key: string]: any;
}
export interface GraphDataNode {
  id: string;
  color?: string;
  radius?: number;
  name?: string;
  x?: number;
  y?: number;
  fx?: number;
  fy?: number;
}

export interface GraphDataLink {
  source: string | GraphDataNode;
  target: string | GraphDataNode;
  id?: string;
}

// export type node = GraphDataNode;
// export type link = GraphDataLink;

export interface GraphData {
  [index: number]: {
    nodes: GraphDataNode[];
    links: GraphDataLink[];
  };
}

export type injectValue = () => any | { [key: string]: any };

export type plugin = { [key: string]: any; install?: () => any } | any;
