import type { ProjectGraphFreshness, ProjectGraphPolicy, ProjectGraphSource, ProjectKnowledgeGraph } from '../../types/project-knowledge-graph.js';
export declare function loadProjectGraphPolicy(): Promise<ProjectGraphPolicy>;
export declare function hashText(text: string): string;
export declare function projectGraphDir(projectId: string, policy: ProjectGraphPolicy): string;
export declare function projectGraphPath(projectId: string, policy: ProjectGraphPolicy): string;
export declare function projectGraphCachePath(projectId: string, policy: ProjectGraphPolicy): string;
export declare function readProjectGraph(projectId: string, policy: ProjectGraphPolicy): Promise<ProjectKnowledgeGraph | null>;
export declare function writeProjectGraph(projectId: string, policy: ProjectGraphPolicy, graph: ProjectKnowledgeGraph): Promise<void>;
export declare function readProjectGraphSourceHashes(projectId: string, policy: ProjectGraphPolicy): Promise<Record<string, string>>;
export declare function writeProjectGraphSourceHashes(projectId: string, policy: ProjectGraphPolicy, hashes: Record<string, string>): Promise<void>;
export declare function diffSourceHashes(sources: ProjectGraphSource[], previous: Record<string, string>): {
    changed: string[];
    skipped: string[];
    next: Record<string, string>;
};
export declare function collectProjectGraphSources(args: {
    projectId: string;
    projectPath: string;
    policy: ProjectGraphPolicy;
}): Promise<ProjectGraphSource[]>;
export declare function getProjectGraphFreshness(args: {
    projectId: string;
    projectPath: string;
    policy?: ProjectGraphPolicy;
}): Promise<ProjectGraphFreshness>;
//# sourceMappingURL=cache.d.ts.map