import type { MemoModelDTO } from '../model/semantic.js'; export interface ImpactNode { elementId: string; name: string; kind: string; layer: string; depth: number; /** Relationship type that connects this node to its parent in the traversal */ viaRelType: string; /** Direction of the relationship from the parent's perspective */ direction: 'downstream' | 'upstream'; } export interface ImpactEdge { fromId: string; toId: string; relType: string; relId: string; } export interface ImpactResult { rootId: string; rootName: string; rootKind: string; nodes: ImpactNode[]; edges: ImpactEdge[]; } export type ImpactDirection = 'downstream' | 'upstream' | 'both'; /** * Compute impact analysis via BFS from a root element. * * - `downstream`: follows outgoing relationships (what does this element affect?) * - `upstream`: follows incoming relationships (what depends on this element?) * - `both`: follows both directions */ export declare function computeImpact(model: MemoModelDTO, elementId: string, direction?: ImpactDirection, maxDepth?: number): ImpactResult; //# sourceMappingURL=impact.d.ts.map