import { JsonObject, RuntimeConfig, RuntimeDependencyNode } from "./types.mjs";
//#region src/dag.d.ts
interface DependencyDAG {
  nodes: Map<string, RuntimeDependencyNode>;
  sorted: string[];
}
declare function normalizeToNodes(config: RuntimeConfig): Map<string, RuntimeDependencyNode>;
declare function manifestPluginsToNodes(plugins: Array<{
  key: string;
  name: string;
  url: string;
  dependsOn?: string[];
  secrets?: string[];
  variables?: JsonObject;
}>): RuntimeDependencyNode[];
declare function buildDependencyDAG(config: RuntimeConfig): DependencyDAG;
declare function getImplicitApiDependencies(nodes: Map<string, RuntimeDependencyNode>): string[];
declare function topologicalSort(nodes: Map<string, RuntimeDependencyNode>): string[];
declare function mergeManifestNodes(configNodes: Map<string, RuntimeDependencyNode>, manifestNodes: RuntimeDependencyNode[]): Map<string, RuntimeDependencyNode>;
declare function getDependenciesForNode(node: RuntimeDependencyNode, allNodes: Map<string, RuntimeDependencyNode>): RuntimeDependencyNode[];
declare function getSingletonKey(node: RuntimeDependencyNode): string;
//#endregion
export { DependencyDAG, buildDependencyDAG, getDependenciesForNode, getImplicitApiDependencies, getSingletonKey, manifestPluginsToNodes, mergeManifestNodes, normalizeToNodes, topologicalSort };
//# sourceMappingURL=dag.d.mts.map