import { WCGridRouter, WCRectangle } from './webcola'; import { getWebcolaDefinition, getParameterizedWebcolaDefinition } from './webcola/adapter'; import type { ICoords } from '@adam-sv/arc'; import type { GraphNodeId, IGraphNode, IGraphNodeAccessors, IGraphEdge, IProcessedGraphNode, IWebcolaDefinition, IWebcolaEdge, IWebcolaNode } from './types'; export type { GraphNodeId, IGraphNode, IGraphNodeAccessors, IGraphEdge, IProcessedGraphNode, IWebcolaDefinition, IWebcolaEdge, IWebcolaNode, }; export { getWebcolaDefinition, getParameterizedWebcolaDefinition, WCGridRouter, WCRectangle, }; export declare const graphDefaults: { nodeSize: { width: number; height: number; }; }; export declare class LogicalArcGraph { edges: IGraphEdge[]; nodeMap: Map>; childMap: Map; nodes: Array>; rootNodes: Array>; boundingRect: DOMRect; constructor(nodes: IGraphNode[], edges: IGraphEdge[]); getNode(id: NodeIdType): IProcessedGraphNode; getParent(id: NodeIdType): IProcessedGraphNode | undefined; getParentChain(id: NodeIdType): IProcessedGraphNode[]; getChildren(id: NodeIdType): IProcessedGraphNode[]; nodeIsLeaf(node: IProcessedGraphNode): boolean; nodeIsRoot(node: IProcessedGraphNode): boolean; getNodeRect(node: IProcessedGraphNode): DOMRect | undefined; getNodeWCRect(node: IProcessedGraphNode): WCRectangle; getAbsolutePosition(node: IProcessedGraphNode): DOMRect | undefined; getSizedChildren(node: IProcessedGraphNode): IProcessedGraphNode[]; computeBoundingRect(nodes: IProcessedGraphNode[], offset?: ICoords, zoom?: number): DOMRect; get accessors(): IGraphNodeAccessors; get webcolaDefinition(): IWebcolaDefinition; } export declare function getIndexInArrayWithIds(datum: T, array: T[]): number;