import type { SummaryMetadata } from '../types.js'; /** * Content structure for a .sum file. */ export interface SumFileContent { /** Main summary text (detailed description) */ summary: string; /** Extracted metadata */ metadata: SummaryMetadata; /** Generation timestamp */ generatedAt: string; /** SHA-256 hash of source file content (for change detection) */ contentHash: string; } /** * Parse a .sum file back into structured content. * Returns null if file doesn't exist or is invalid. */ export declare function readSumFile(sumPath: string): Promise; /** * Write a .sum file alongside a source file. * Creates: foo.ts -> foo.ts.sum (or foo.ts.claude.haiku.sum with variant) * * @param sourcePath - Path to the source file * @param content - Summary content to write * @param variant - Optional eval variant name (e.g., "claude.haiku") * @returns Path to the written .sum file */ export declare function writeSumFile(sourcePath: string, content: SumFileContent, variant?: string): Promise; /** * Get the .sum path for a source file. * * @param sourcePath - Path to the source file * @param variant - Optional eval variant name (e.g., "claude.haiku") */ export declare function getSumPath(sourcePath: string, variant?: string): string; /** * Check if a .sum file exists for a source file. * * @param sourcePath - Path to the source file * @param variant - Optional eval variant name (e.g., "claude.haiku") */ export declare function sumFileExists(sourcePath: string, variant?: string): Promise; /** * Write an annex file alongside a source file. * Contains the full source content for reproduction-critical files * whose verbatim constants cannot fit within .sum word limits. * * Example: foo.ts -> foo.annex.sum (or foo.annex.claude.haiku.sum with variant) * * @param sourcePath - Absolute path to the source file * @param sourceContent - Full source file content * @param variant - Optional eval variant name (e.g., "claude.haiku") * @returns Path to the written annex file */ export declare function writeAnnexFile(sourcePath: string, sourceContent: string, variant?: string): Promise; /** * Get the .annex.sum path for a source file. * * Strips the source extension: foo.ts -> foo.annex.sum (or foo.annex.claude.haiku.sum with variant) * * @param sourcePath - Path to the source file * @param variant - Optional eval variant name (e.g., "claude.haiku") */ export declare function getAnnexPath(sourcePath: string, variant?: string): string; //# sourceMappingURL=sum.d.ts.map