import type { CodeFinding, CodeSymbol } from "#types/code.types"; import type { WalkCell, WalkNode } from "#types/walk.types"; import type { ModuleReport } from "#types/report.types"; export type Pruned = (folder: string) => boolean; export interface FileEntry { rel: string; walk: WalkNode[]; symbols: CodeSymbol[]; records: Record[]; } export interface ModuleBuild { fanIn?: ReadonlyMap; moduleName: string; title: string; extraFindings?: readonly CodeFinding[]; testUses?: ReadonlySet; } export interface BuiltModule { pages: Map; svgs: Map; cells: Map; analysis: string; findings: string; findingsData: readonly CodeFinding[]; report: ModuleReport; } export interface RepoContext { fanIn: Map; packageMap: Map; importCycles: Map; } export interface ModuleScope { root: string; pruned: Pruned; } export interface ModuleReportBuild { built: BuiltModule; entries: FileEntry[]; title: string; } export interface DirScan { files: string[]; dirs: string[]; tests: string[]; }