import { Command } from '@oclif/core'; import { Graph as GraphLibGraph, GraphOptions } from 'graphlib'; import { NodeFilter } from '../Nodes/Filter.js'; import { NodeModifier } from '../Nodes/Modifier.js'; import { EdgeOptions, Node } from '../Nodes/Node.js'; type Rank = { rankmode: string; nodes: string[]; }; type Key = EdgeOptions; export declare class Graph extends GraphLibGraph { private ranks; private key; private description; private rootDir; constructor(options?: GraphOptions, ranks?: Rank[], key?: Key[], description?: Record, rootDir?: string); static fromString(data: string, ranks?: Rank[], key?: Key[], description?: Record, rootDir?: string): Graph; static fromGraph(graph: Graph): Graph; static fromGraphLib(graph: GraphLibGraph, ranks?: Rank[], key?: Key[], description?: Record, rootDir?: string): Graph; getRootDir(): string; addRank(rank: Rank): void; addKey(key: Key): void; filterNodes(filter: (v: string) => boolean): Graph; toString(): string; private postProcessString; private createKey; private createRanks; static assignProps(to: Graph, from: GraphLibGraph): void; } export declare const filter: (graph: Graph, filters: NodeFilter[], logger: Command["log"], error: Command["error"]) => Graph; export declare const decorate: (graph: Graph, modifiers: NodeModifier[], logger: Command["log"], error: Command["error"]) => Graph; export {};