export interface CacheConfig {
    type: 'memory' | 'redis' | 'semantic';
    [key: string]: any;
}
export interface CacheEntry {
    key: string;
    value: any;
    expiresAt?: number;
}
export interface CacheManager {
    get(key: string): Promise<any>;
    set(key: string, value: any, ttl?: number): Promise<void>;
    delete(key: string): Promise<void>;
    clear(): Promise<void>;
}
export interface SemanticCacheEntry extends CacheEntry {
    embedding: number[];
}
export interface SemanticCacheManager extends CacheManager {
    search(query: string, threshold: number): Promise<SemanticCacheEntry[]>;
}
