/**
 * Project-root discovery for nested BOM aggregation.
 *
 * `vyuh-dxkit bom <path>` historically scanned `<path>` as a single
 * project root. Monorepos with root devtools plus a product
 * subdirectory fell through the cracks — the scanner saw
 * only whichever `package.json`/lockfile lived at `<path>`, missing
 * every sibling or nested sub-project.
 *
 * This module walks the filesystem starting at cwd and returns every
 * directory that looks like an independent project root (i.e. has any
 * language manifest, regardless of whether a parent also does). The
 * BOM analyzer then runs the existing per-root gather against each
 * and merges the results.
 *
 * Why a hardcoded skip-set rather than `exclusions.ts`: this is a
 * structural traversal, not a gitignore-based code scan. `exclusions.ts`
 * is tuned for "which files does the user consider source code?" and
 * pulls in `.gitignore` rules that would incorrectly hide sibling
 * projects (e.g. `.gitignore: dist/` would skip a sub-project under
 * `dist/` even though it might legitimately be a shippable artifact
 * the user wants inventoried).
 */
/**
 * Walk `cwd` and return every directory that contains at least one
 * language manifest. Always includes `cwd` itself when it has one,
 * even if nested sub-projects also exist (the aggregator treats all
 * roots symmetrically and dedupes findings across them).
 *
 * Pure over the filesystem: no caching, no side effects beyond
 * filesystem reads. Returns absolute paths, sorted alphabetically
 * for deterministic output.
 *
 * Exported for unit tests.
 */
export declare function discoverProjectRoots(cwd: string, maxDepth?: number): string[];
//# sourceMappingURL=discovery.d.ts.map