export interface ScanResult { /** ISO timestamp when the scan was performed. */ scannedAt: string; /** Absolute path of the scanned workspace root. */ workspaceRoot: string; /** Absolute paths to .sln / .slnx files found anywhere under workspaceRoot. */ solutionFiles: string[]; /** Absolute paths to .csproj files discovered via solution references. */ csprojFiles: string[]; /** Absolute paths to every Directory.Packages.props found. */ directoryPackagesProps: string[]; /** Absolute paths to every Directory.Build.props found. */ directoryBuildProps: string[]; /** Absolute paths to every Directory.Build.targets found. */ directoryBuildTargets: string[]; /** Sorted, deduped union of every referenced package name. */ packages: string[]; /** Non-fatal issues encountered during the scan (e.g. csproj referenced but missing). */ warnings: string[]; } /** * Walk the workspace recursively, collecting every `.sln`, `.slnx`, * `Directory.Packages.props`, `Directory.Build.props`, and * `Directory.Build.targets` file. Parse each for package references and * return a deduped union. * * Never throws — per-file read errors are pushed into `warnings` and the * scan continues. */ export declare function scanWorkspace(workspaceRoot: string): Promise; /** Write the scan result to `/solution-scan.json` atomically. */ export declare function writeScanCache(cacheDir: string, result: ScanResult): Promise; /** * Read the cached scan result, if present. Returns null when the file is * missing or unreadable — callers should treat that as "no scan yet". */ export declare function readScanCache(cacheDir: string): Promise; /** Absolute path of the scan-cache file for a given cacheDir. */ export declare function scanCachePath(cacheDir: string): string; //# sourceMappingURL=solutionScanner.d.ts.map