export class FunctionModuleRegistry {
    /**
     *
     * @type {Object<FunctionModule>}
     */
    modules: any;
    /**
     * Materialize entire dependency graph for the registry.
     * Dependency relationship edges have direction from dependant towards dependency
     * @private
     * @returns {Graph<FunctionModule>}
     */
    private __buildDependencyGraph;
    /**
     *
     * @param {FunctionModuleReference} reference
     * @returns {FunctionModule|undefined}
     */
    getModuleByReference(reference: FunctionModuleReference): FunctionModule | undefined;
    /**
     *
     * @param {FunctionModuleReference[]} references
     * @returns {FunctionModuleReference[]} full list of references involved
     */
    resolveDependencyTreeForReferences(references: FunctionModuleReference[]): FunctionModuleReference[];
    /**
     *
     * @param {FunctionModule} module
     * @returns {boolean}
     */
    add(module: FunctionModule): boolean;
    /**
     *
     * @param {string} id
     * @returns {FunctionModule|undefined}
     */
    getModule(id: string): FunctionModule | undefined;
    /**
     *
     * @param {function(FunctionModule)} visitor
     * @param {*} [thisArg]
     */
    traverse(visitor: (arg0: FunctionModule) => any, thisArg?: any): void;
}
import { FunctionModuleReference } from "./FunctionModuleReference.js";
//# sourceMappingURL=FunctionModuleRegistry.d.ts.map