import type { FruchtermanLayoutOptions, Graph, LayoutMapping, LayoutWithIterations } from './types'; /** * Fruchterman 力导向布局 * * Fruchterman force-directed layout */ export declare class FruchtermanLayout implements LayoutWithIterations { options: FruchtermanLayoutOptions; id: string; private timeInterval; private running; private lastLayoutNodes; private lastLayoutEdges; private lastAssign; private lastGraph; private lastOptions; private lastClusterMap; private lastResult; constructor(options?: FruchtermanLayoutOptions); /** * Return the positions of nodes and edges(if needed). */ execute(graph: Graph, options?: FruchtermanLayoutOptions): Promise; /** * To directly assign the positions to the nodes. */ assign(graph: Graph, options?: FruchtermanLayoutOptions): Promise; /** * Stop simulation immediately. */ stop(): void; /** * Manually steps the simulation by the specified number of iterations. * @see https://github.com/d3/d3-force#simulation_tick */ tick(iterations?: number): LayoutMapping; private genericFruchtermanLayout; private formatOptions; private runOneStep; private applyCalculate; private calRepulsive; private calAttractive; }