import type { BridgeEdgeResult, CommunityResult, SurpriseEdgeResult } from './types'; export interface GraphEdgeRow { source: string; target: string; weight: number; } /** * Runs synchronous Label Propagation over an undirected projection of * the given edges. Returns a `Map` and a summary * list ordered by community size descending. */ export declare function detectCommunities(edges: GraphEdgeRow[], opts?: { maxIterations?: number; }): { assignment: Map; communities: CommunityResult[]; }; /** * Tarjan's bridge algorithm over the undirected projection of the * given directed edges. Returns edges whose removal would disconnect * at least two previously-connected nodes. */ export declare function detectBridges(edges: GraphEdgeRow[]): BridgeEdgeResult[]; /** * Returns edges that cross community boundaries AND have a weight at * or below `percentile` of all edge weights. These are architectural * smoke: a one-off link between otherwise-unrelated subsystems. */ export declare function detectSurpriseEdges(edges: GraphEdgeRow[], assignment: Map, opts?: { percentile?: number; }): SurpriseEdgeResult[]; //# sourceMappingURL=communities.d.ts.map