/**
 * CLAUDE.md Freshness Calculator
 * Calculates freshness scores based on git changes since last update
 */
import { ClaudeUpdateRecord } from './core-memory-store.js';
export interface FreshnessResult {
    path: string;
    level: 'user' | 'project' | 'module';
    relativePath: string;
    parentDirectory?: string;
    lastUpdated: string | null;
    lastModified: string;
    changedFilesCount: number;
    freshness: number;
    updateSource?: string;
    needsUpdate: boolean;
    changedFiles?: string[];
}
export interface FreshnessSummary {
    totalFiles: number;
    staleCount: number;
    averageFreshness: number;
    lastScanAt: string;
}
export interface FreshnessResponse {
    files: FreshnessResult[];
    summary: FreshnessSummary;
}
/**
 * Get current git commit hash
 */
export declare function getCurrentGitCommit(basePath: string): string | null;
/**
 * Calculate freshness for a single CLAUDE.md file
 */
export declare function calculateFreshness(filePath: string, fileLevel: 'user' | 'project' | 'module', lastUpdateTime: string | null, lastModified: string, projectPath: string, threshold?: number): FreshnessResult;
/**
 * Calculate freshness for all CLAUDE.md files in a project
 */
export declare function calculateAllFreshness(claudeFiles: Array<{
    path: string;
    level: 'user' | 'project' | 'module';
    lastModified: string;
}>, projectPath: string, threshold?: number): FreshnessResponse;
/**
 * Mark a CLAUDE.md file as updated
 */
export declare function markFileAsUpdated(filePath: string, fileLevel: 'user' | 'project' | 'module', updateSource: 'manual' | 'cli_sync' | 'dashboard' | 'api', projectPath: string, metadata?: object): ClaudeUpdateRecord;
/**
 * Get update history for a file
 */
export declare function getUpdateHistory(filePath: string, projectPath: string, limit?: number): ClaudeUpdateRecord[];
//# sourceMappingURL=claude-freshness.d.ts.map