import type { FileRole, ParsedFile } from "./types.js"; /** * Classify a single file's role using path + content signals. * This is the "first pass" — entry-point detection by graph degree * is a "second pass" applied in `applyGraphRoles()`. */ export declare function classifyFileRole(filePath: string, pf: Pick, repoConfig?: RepoConfig): FileRole; /** * Second pass: after graph edges are computed, promote files with very high * inbound import degree to "entry_point" (they import everything but have no * domain meaning). * * Also detect polymorphic/shared-utility models and mark them "shared_utility" * so graph-builder can downweight their edges. */ export declare function applyGraphRoles(files: ParsedFile[], inboundImportDegree: Map, inboundAssocDegree: Map, IMPORT_HUB_THRESHOLD?: number): void; /** * Compute inbound import and association degree maps from the already-parsed files. * Used by `applyGraphRoles`. */ export declare function computeInboundDegrees(files: ParsedFile[]): { inboundImport: Map; inboundAssoc: Map; }; export interface RepoConfig { /** Directories to always classify as test (e.g. ["spec", "e2e"]) */ testDirs?: string[]; /** Specific file paths to force as entry_point */ entryPoints?: string[]; /** Path substrings to exclude from graph (marked config) */ excludeGraph?: string[]; } //# sourceMappingURL=file-classifier.d.ts.map