import { KnowledgeGraph } from '../contracts/graph.js'; import type { ContextPackClaim, ContextPackCoverage, ContextPackEvidenceClass, ContextPackExpandableRef } from '../contracts/context-pack.js'; import type { ContextPackTaskKind } from '../contracts/context-pack.js'; import type { TaskIntentKind } from '../contracts/task-intent.js'; import { featureMap, type FeatureMapOptions } from './feature-map.js'; export interface RiskMapOptions extends FeatureMapOptions { taskKind?: ContextPackTaskKind; taskIntent?: TaskIntentKind; } export type RiskSeverity = 'high' | 'medium' | 'low'; export interface RiskMapRisk { label: string; severity: RiskSeverity; reason: string; affected_files: string[]; affected_communities: string[]; } export interface RiskMapHotspot { label: string; type: 'bridge' | 'god_node'; why: string; } export interface RiskMapResult { question: string; token_count: number; summary: string; top_risks: RiskMapRisk[]; structural_hotspots: RiskMapHotspot[]; starter_files: ReturnType['relevant_files']; claims: ContextPackClaim[]; expandable: ContextPackExpandableRef[]; coverage?: ContextPackCoverage; missing_context?: ContextPackEvidenceClass[]; } export interface RiskSummaryCandidate { label: string; totalAffected: number; affectedFiles: readonly string[]; affectedCommunities: readonly string[]; hotspotKinds: readonly string[]; dependentCount: number; } interface RankedRiskDetails extends RiskMapRisk { score: number; hotspot_count: number; dependent_count: number; } export declare function scoreRisk(totalAffected: number, affectedCommunityCount: number, hotspotCount: number, dependentCount: number): number; export declare function severityForRisk(score: number, affectedCommunities: number): RiskSeverity; export declare function summarizeRisk(label: string, affectedFiles: readonly string[], affectedCommunities: readonly string[], hotspotKinds: readonly string[]): string; export declare function buildRankedRisk(candidate: RiskSummaryCandidate): RankedRiskDetails; export declare function compareRankedRisks(left: RankedRiskDetails, right: RankedRiskDetails): number; export declare function riskMap(graph: KnowledgeGraph, options: RiskMapOptions): RiskMapResult; export {};