import type { JudgeCallFn } from "../../config/types.js"; /** Options for the persistent disk-based judge cache. */ export interface DiskCacheOptions { /** Directory for cache files. */ readonly cacheDir: string; /** Number of days before a cache entry expires. */ readonly ttlDays: number; /** Maximum number of cache entries. Oldest entries are evicted when exceeded. @default 10000 */ readonly maxEntries?: number | undefined; } /** * Wraps a JudgeCallFn with persistent disk-based caching. * Only caches deterministic calls (temperature 0 or undefined). * Cache key is the same SHA-256 hash used by the in-memory cache. * * @example * ```ts * import { createDiskCachingJudge, defineConfig } from "agent-eval-kit"; * * const cachedJudge = createDiskCachingJudge(myJudgeCall, { * cacheDir: ".eval-cache/judge", // default * ttlDays: 7, // default * }); * defineConfig({ judge: { call: cachedJudge } }); * ``` */ export declare function createDiskCachingJudge(judge: JudgeCallFn, options?: Partial): JudgeCallFn; /** Deletes all cached judge entries from disk and removes the cache directory. Returns the number of entries deleted, or 0 if the directory did not exist. */ export declare function clearJudgeCache(cacheDir?: string): Promise; /** Returns the number of cached entries and total size in bytes. Returns zeros if the cache directory does not exist. */ export declare function judgeCacheStats(cacheDir?: string): Promise<{ entries: number; totalBytes: number; }>; //# sourceMappingURL=judge-disk-cache.d.ts.map