import { AbsNodeManager } from "../AbsNodeManager";
import { GraphicNode, OolongLine } from "../../graphics/index";
import RBush from "rbush";
import { IRectNode, RectNode } from "../../common/index";
import { ConnectInfo } from "./ConnectInfo";
export declare class NodeManager extends AbsNodeManager {
    root: GraphicNode;
    previewRoot: GraphicNode;
    nodeMap: Map<string, GraphicNode>;
    tree: RBush<RectNode>;
    linkMap: Map<OolongLine, ConnectInfo>;
    constructor();
    clear(): void;
    reset(): void;
    searchNodesByRectNode(rectNode: IRectNode): GraphicNode[];
    searchNodes(minX: number, minY: number, maxX?: number, maxY?: number): GraphicNode[];
    getParentNode(parentId: string): GraphicNode;
    getNode(id: string): GraphicNode | null;
    addNode(node: GraphicNode): void;
    removeNode(id: string): void;
    private deleteNodeFromParent;
    removeIndexNode(node: RectNode): void;
    addIndexNode(node: RectNode): void;
    getNodeBounds(): RectNode;
    addLink(line: OolongLine, node: GraphicNode | null, isStart?: boolean): void;
    private checkLinkLine;
    getNodeLinks(node: GraphicNode): Set<OolongLine>;
}
//# sourceMappingURL=NodeManager.d.ts.map