import type { Evidence } from './types'; /** sha256 of a whole file's utf8 content. `'MISSING'` if it can't be read. */ export declare function hashFile(rootDir: string, relPath: string): string; /** Token-stream normalization: strips comments/whitespace, keeps semantics. */ export declare function normalizeForFreshness(source: string): string; /** Raw + normalized sha256 pair for one symbol. `'MISSING'`/`'MISSING'` if unreadable or not found. */ export declare function hashSymbol(rootDir: string, relPath: string, symbolName: string): { raw: string; normalized: string; }; export interface CollectEvidenceOptions { /** Directory relative paths are resolved against. Defaults to `process.cwd()`. */ rootDir?: string; /** Relative file paths to hash whole. */ files?: string[]; /** Symbols to hash (raw + normalized), one file per symbol. */ symbols?: Array<{ filePath: string; symbolName: string; }>; branch?: string; commit?: string; } /** * Builds an `Evidence` bundle the way a client is expected to: hash the files * and symbols it's about to make claims about, right before sending them. * Identical algorithm to the local MCP Brain's `LocalFsResolver` — see the * module doc. */ export declare function collectEvidence(options: CollectEvidenceOptions): Evidence;