/**
 * X-Ray Directory Scanner
 *
 * Walks a directory tree, scans each file, checks package.json if present,
 * and aggregates findings into a single XRayResult.
 */
import type { XRayResult } from './types.js';
/**
 * Hidden directories worth scanning. These hold agent-instruction and CI
 * surfaces (skills, slash commands, settings hooks, workflow YAML, editor
 * tasks) — the primary prompt-injection / persistence vectors in an AI-agent
 * codebase. By default `walkDir` skips ALL dot-directories; this allow-list
 * carves out the ones X-Ray must inspect. `SKIP_DIRS` always wins, so `.git`
 * et al. stay excluded even though they're hidden.
 *
 * Shared with watch mode (`watch.ts` imports this) so a scan and a watch agree
 * on exactly which hidden dirs are in scope — one source of truth.
 */
export declare const ALLOW_HIDDEN_DIRS: Set<string>;
/**
 * Whether to descend into a directory while walking. Recurse when it's not in
 * the skip-list AND it's either not hidden or explicitly allow-listed. Exported
 * so watch mode mirrors the identical rule.
 */
export declare function shouldWalkDir(name: string): boolean;
/**
 * Scan an entire directory for X-Ray findings.
 *
 * @param dirPath - Path to the directory to scan
 * @param deep - If true, performs deeper analysis (Pro feature)
 */
export declare function scanDirectory(dirPath: string, deep: boolean): Promise<XRayResult>;
