/** * Filesystem counterpart to the webapp's `scanInfrastructureFiles`. * * Walks `repoRoot` recursively, gathers every `infrastructure.ts` file it * sees, and hands the resulting iterable to the shared `findInfrastructurePaths` * resolver. The resolver owns the marker/boundary rules; this module owns * the I/O concerns (symlink loop guard, walk recursion). The exclusion set * is declared here but enforced by the shared resolver — `walk()` skips * excluded directories at I/O time as an optimisation; the resolver enforces * the same set as a defence-in-depth contract. * * Returns the same `{ paths }` shape as the webapp scan so the helpers are * consumer-substitutable (the cross-system parity pattern). * * Walk discipline: * - Symlinks are skipped entirely via `Dirent.isSymbolicLink()` (loop guard). * - Excluded directory names: node_modules, .git, dist, build, coverage, * .next, .turbo, .vite, .cache. */ import type { ScanPath } from "./scanTypes.js"; export declare const EXCLUDED_DIRECTORY_NAMES: ReadonlySet; export interface ScanLocalRepositoryResult { paths: ScanPath[]; } export declare function scanLocalRepository(repoRoot: string): Promise;