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 { type RelevantFileEntry } from './relevant-files.js'; export interface FeatureMapOptions { question: string; budget: number; limit?: number; community?: number; fileType?: string; taskKind?: ContextPackTaskKind; taskIntent?: TaskIntentKind; } export interface FeatureMapCommunity { id: number; label: string; node_count: number; top_symbols: string[]; top_files: string[]; direct_matches: number; related_matches: number; } export interface FeatureMapEntryPoint { label: string; node_kind?: string; source_file: string; line_number: number; relevance_band: 'direct' | 'related' | 'peripheral'; why: string; } export interface FeatureMapResult { question: string; token_count: number; summary: string; communities: FeatureMapCommunity[]; entry_points: FeatureMapEntryPoint[]; relevant_files: RelevantFileEntry[]; claims: ContextPackClaim[]; expandable: ContextPackExpandableRef[]; coverage?: ContextPackCoverage; missing_context?: ContextPackEvidenceClass[]; } export declare function featureMap(graph: KnowledgeGraph, options: FeatureMapOptions): FeatureMapResult;