import type { ID } from '@antv/graphlib'; import type { Simulation } from 'd3-force'; import type { Graph, LayoutMapping, LayoutWithIterations } from '../types'; import type { D3ForceLayoutOptions, EdgeDatum, NodeDatum } from './types'; export declare class D3ForceLayout implements LayoutWithIterations { id: string; simulation: Simulation; protected resolver: (value: LayoutMapping) => void; protected config: { inputNodeAttrs: string[]; outputNodeAttrs: string[]; simulationAttrs: string[]; }; protected forceMap: Record; options: Partial; protected context: { assign: boolean; options: Partial; nodes: NodeDatum[]; edges: EdgeDatum[]; graph?: Graph; }; constructor(options?: Partial); execute(graph: Graph, options?: T): Promise; assign(graph: Graph, options?: T): Promise; stop(): void; tick(iterations?: number): LayoutMapping; restart(): void; setFixedPosition(id: ID, position: (number | null)[]): void; protected getOptions(options: Partial): T; protected genericLayout(assign: boolean, graph: Graph, options?: T): Promise; protected getResult(): LayoutMapping; protected initSimulation(): Simulation; protected setSimulation(options: T): Simulation; }