import { SemanticCacheEntry, SemanticCacheManager } from "../types/cache";
import { EmbeddingProvider } from "../types/provider";
export interface CacheEntryWithTTL extends SemanticCacheEntry {
    createdAt: number;
    expiresAt: number;
}
export declare class EnhancedSemanticCacheManager implements SemanticCacheManager {
    private cacheManager;
    private defaultTTL;
    private embeddingProvider;
    constructor(embeddingProvider: EmbeddingProvider, defaultTTL?: number);
    set(key: string, value: any, ttl?: number): Promise<void>;
    get(key: string): Promise<any>;
    refresh(key: string): Promise<void>;
    delete(key: string): Promise<void>;
    clear(): Promise<void>;
    search(query: string, threshold: number): Promise<SemanticCacheEntry[]>;
    setDefaultTTL(ttl: number): void;
    getDefaultTTL(): number;
}
