import { GraphLayout, GraphLayoutProps } from "../core/graph-layout.js"; import type { Graph, NodeInterface, EdgeInterface } from "../graph/graph.js"; export type SimpleLayoutProps = GraphLayoutProps & { /** The accessor lets the application supply the position ([x, y]) of each node. */ nodePositionAccessor?: (node: NodeInterface) => [number, number]; }; /** A basic layout where the application controls positions of each node */ export declare class SimpleLayout extends GraphLayout { static defaultProps: Required; protected readonly _name = "SimpleLayout"; protected _graph: Graph | null; protected _nodeMap: Map; protected _nodePositionMap: Map; constructor(options?: SimpleLayoutProps); initializeGraph(graph: Graph): void; start(): void; stop(): void; update(): void; resume(): void; updateGraph(graph: Graph): void; setNodePositionAccessor: (accessor: any) => void; getNodePosition: (node: NodeInterface | null) => [number, number]; getEdgePosition: (edge: EdgeInterface) => { type: string; sourcePosition: number[]; targetPosition: number[]; controlPoints: any[]; }; lockNodePosition: (node: NodeInterface, x: number, y: number) => void; _notifyLayoutComplete(): void; protected _updateBounds(): void; } //# sourceMappingURL=simple-layout.d.ts.map