import { RecallPlanMode } from './types.js';
import { a as SearchQueryOptions } from './port-B6VEDIkC.js';
import './index-1qIcnbG1.js';

type QmdRecallCacheSource = "fresh" | "stale";
interface QmdRecallCacheHit<T> {
    value: T;
    source: QmdRecallCacheSource;
    ageMs: number;
}
interface QmdRecallCacheKeyOptions {
    query: string;
    namespaces: string[];
    recallMode: RecallPlanMode;
    maxResults: number;
    memoryDir?: string;
    collection?: string;
    searchOptions?: SearchQueryOptions;
}
declare function buildQmdRecallCacheKey(options: QmdRecallCacheKeyOptions): string;
declare function getCachedQmdRecall<T>(cacheKey: string, options: {
    freshTtlMs: number;
    staleTtlMs: number;
}): QmdRecallCacheHit<T> | null;
declare function setCachedQmdRecall<T>(cacheKey: string, value: T, options: {
    maxEntries: number;
}): void;
declare function clearQmdRecallCache(): void;

export { type QmdRecallCacheHit, type QmdRecallCacheKeyOptions, type QmdRecallCacheSource, buildQmdRecallCacheKey, clearQmdRecallCache, getCachedQmdRecall, setCachedQmdRecall };
