export { clearFakeGitEnv, installFakeGit, setFakeGitTrackedFiles } from './fake-git.mts'; export type { FakeGitOptions } from './fake-git.mts'; export declare function gitEnv(): NodeJS.ProcessEnv; export interface SharedContext { repoRoot: string; isInsideGitRepo: boolean; trackedFiles: readonly string[]; trackedFileSet: ReadonlySet; /** Lazily reads tracked files and shares the result across policy visitors. */ readTrackedFile?: (file: string) => string | null; } export declare function buildContextFromTrackedFiles(repoRoot: string, trackedFiles: readonly string[]): SharedContext; export type NamedCheck = { name: string; run: (ctx: SharedContext) => Promise<{ errors: string[]; fixes?: string[]; }> | { errors: string[]; fixes?: string[]; }; }; export declare function runNamedChecks(repoRoot: string, checks: readonly NamedCheck[]): Promise>; export declare function buildSharedContext(inputRoot: string): Promise;