import type { MapClaudeProjectsOptions } from '../types.js'; export interface MapClaudeProjectsDeps { homedir?: () => string; } /** * Find every directory named "claude" (see `isClaudeDirName`), searching recursively from * `root`. A match is not itself searched further — its full contents are captured by * `appendTree` instead, so a nested "claude" folder inside a match isn't double-reported as its * own match. A *symlinked* "claude"/".claude" directory still counts as a match (dotfile * managers like chezmoi/Stow/yadm commonly manage `~/.claude` this way) — only non-matching * symlinked directories are skipped during further recursion, to avoid link loops and escaping * `root`. Unreadable directories (permissions, etc.) are skipped rather than aborting the whole * scan. * * Being recorded as a match here does not by itself mean its contents get walked — a matched * symlink whose target resolves outside `root` is caller-checked (see `resolvesWithinRoot`, * used in `run()`) and its contents are never enumerated, since nothing here constrains where a * "claude"-named symlink's target actually lives. */ export declare function findClaudeDirs(root: string): Promise; export declare function run(opts: MapClaudeProjectsOptions, deps?: MapClaudeProjectsDeps): Promise; //# sourceMappingURL=map-claude-projects.d.ts.map