import { BaseEdge, BaseExplicitGraph, BaseNode, Kind, NodeID } from './BaseExplicitGraph'; interface Attributes { [name: string]: any; } interface NodeAttributes extends Attributes { name: string; kind: Kind; } interface EdgeAttributes extends Attributes { kind: Kind; } export declare class DependsNode extends BaseNode { private attr; constructor(id: NodeID, attr: NodeAttr); getNodeAttr(): NodeAttr; setNodeAttr(attr: NodeAttr): void; getDotLabel(): string; } export declare class DependsEdge extends BaseEdge { private attr; constructor(s: DependsNode, d: DependsNode, attr: EdgeAttr); getEdgeAttr(): EdgeAttr; setEdgeAttr(attr: EdgeAttr): void; getKey(): string; } export declare class DependsGraph extends BaseExplicitGraph { protected depsMap: Map; protected edgesMap: Map>; constructor(); hasDepsNode(key: string): boolean; addDepsNode(key: string, attr: NodeAttr): DependsNode; addEdge(src: DependsNode, dst: DependsNode, attr: EdgeAttr): DependsEdge; getGraphName(): string; } export {}; //# sourceMappingURL=DependsGraph.d.ts.map