/**
 * RLM result cache filesystem store.
 *
 * Layout:
 *   .aiwg/working/rlm-cache/{hash}/
 *     ├── result.json
 *     ├── manifest.json
 *     └── metadata.json
 *
 * @implements #1203
 * @see .aiwg/architecture/adr-rlm-index-features-impl-plan.md
 */
import type { CacheEntry, CacheEntrySummary, CacheStats, EvictionOptions, EvictionResult } from './types.js';
/** Resolve cache root, allowing tests to override. */
export declare function resolveCacheRoot(cwd?: string): string;
/** Check whether a cache entry exists. */
export declare function has(root: string, hash: string): boolean;
/** Read a full entry from disk. Throws on missing. */
export declare function get(root: string, hash: string): CacheEntry;
/** Write an entry, atomically per-file. Returns the entry directory. */
export declare function put(root: string, entry: Omit<CacheEntry, 'hash'> & {
    hash: string;
}): string;
/** List all entries (compact summary form). */
export declare function list(root: string, now?: Date): CacheEntrySummary[];
/** Aggregate statistics. */
export declare function stats(root: string, now?: Date): CacheStats;
/** Remove entries matching the given options. */
export declare function evict(root: string, opts: EvictionOptions, now?: Date): EvictionResult;
/** Wipe the entire cache. Caller is responsible for confirmation. */
export declare function clear(root: string): EvictionResult;
//# sourceMappingURL=store.d.ts.map