/** * Compute the set of source files that have changed since the graph was built. * * Two paths: * * 1. `--since ` (CI-friendly) — `git diff --name-only ...HEAD` * plus uncommitted modifications. The merge-base form is intentional: * it captures every file the PR touched, not just the latest commit. * * 2. No `--since` flag — fall back to comparing file mtimes against * `fingerprint.json.computedAt`. Slower but works without git history. * * Either path returns paths relative to the repo root. Non-source files * (anything not tracked by the analyzer's language config) are filtered out * by the caller via the node table. */ export interface DiffResult { /** Repo-relative paths of files that may have changed since graph build. */ changed: string[]; /** Which mechanism produced the list. */ mechanism: 'git' | 'mtime'; /** Any non-fatal warnings (e.g. "no .git found, used mtime"). */ warnings: string[]; /** The short commit hash of HEAD at the moment of the check, if available. */ workingCommit: string | null; } export interface DiffOptions { repoRoot: string; /** Iso8601 timestamp the graph was built — used by mtime fallback. */ graphBuiltAt: string | null; /** Optional git ref to diff against (e.g. "origin/main"). */ since?: string; } export declare function hasGitDirectory(repoRoot: string): Promise; export declare function refExists(repoRoot: string, ref: string): Promise; export declare function computeDiff(opts: DiffOptions): Promise; /** Read `fingerprint.json` if present. */ export declare function readGraphFingerprint(repoRoot: string): Promise<{ computedAt: string | null; fileCount: number | null; } | null>; //# sourceMappingURL=diff.d.ts.map