import { GraphLayout, GraphLayoutProps } from "../../core/graph-layout.js"; import type { Graph, NodeInterface, EdgeInterface } from "../../graph/graph.js"; export type D3ForceLayoutOptions = GraphLayoutProps & { alpha?: number; resumeAlpha?: number; nBodyStrength?: number; nBodyDistanceMin?: number; nBodyDistanceMax?: number; getCollisionRadius?: number; }; export declare class D3ForceLayout extends GraphLayout { static defaultProps: { readonly alpha: 0.3; readonly resumeAlpha: 0.1; readonly nBodyStrength: -900; readonly nBodyDistanceMin: 100; readonly nBodyDistanceMax: 400; readonly getCollisionRadius: 0; readonly onLayoutStart: (detail?: import("../..").GraphLayoutEventDetail) => void; readonly onLayoutChange: (detail?: import("../..").GraphLayoutEventDetail) => void; readonly onLayoutDone: (detail?: import("../..").GraphLayoutEventDetail) => void; readonly onLayoutError: (error?: unknown) => void; }; protected readonly _name = "D3"; private _positionsByNodeId; private _graph; private _worker; constructor(props?: D3ForceLayoutOptions); initializeGraph(graph: Graph): void; updateGraph(graph: Graph): void; start(): void; update(): void; _engageWorker(): void; resume(): void; stop(): void; getEdgePosition: (edge: EdgeInterface) => { type: string; sourcePosition: any; targetPosition: any; controlPoints: any[]; }; getNodePosition: (node: NodeInterface | null) => any; lockNodePosition: (node: NodeInterface, x: number, y: number) => void; unlockNodePosition: (node: NodeInterface) => void; protected _updateBounds(): void; } //# sourceMappingURL=d3-force-layout.d.ts.map