export interface DependencyNode<T = any> {
    id: string;
    type: 'module' | 'controller' | 'channel';
    metadata?: Record<string, any>;
    instance?: T;
    parentId?: string;
    children: string[];
}
export declare class DependencyGraph<T = any> {
    private readonly nodes;
    addNode(id: string, type: 'module' | 'controller' | 'channel', parentId?: string, metadata?: Record<string, any>, instance?: T): DependencyNode<T>;
    getNode(id: string): DependencyNode<T> | undefined;
}
