/**
 * Sistema de cache para resultados de similaridade
 * Melhora o desempenho evitando recálculos de similaridade entre textos
 */
/**
 * Classe de cache genérico com limite de tamanho e expiração
 */
export declare class LRUCache<T> {
    private cache;
    private maxSize;
    private ttl;
    constructor(maxSize?: number, ttl?: number);
    /**
     * Gera uma chave de cache a partir de um objeto
     */
    private generateKey;
    /**
     * Verifica se uma entrada expirou
     */
    private isExpired;
    /**
     * Obtém um valor do cache
     */
    get(key: any): T | undefined;
    /**
     * Define um valor no cache
     */
    set(key: any, value: T): void;
    /**
     * Remove um valor do cache
     */
    delete(key: any): boolean;
    /**
     * Limpa o cache
     */
    clear(): void;
    /**
     * Retorna o tamanho atual do cache
     */
    size(): number;
}
/**
 * Cache específico para resultados de similaridade
 */
export declare class SimilarityCache {
    private cache;
    constructor(maxSize?: number);
    /**
     * Obtém um valor de similaridade do cache
     */
    getSimilarity(text1: string, text2: string, algorithm: string): number | undefined;
    /**
     * Armazena um valor de similaridade no cache
     */
    setSimilarity(text1: string, text2: string, algorithm: string, similarity: number): void;
    /**
     * Limpa o cache de similaridade
     */
    clear(): void;
    /**
     * Retorna o tamanho atual do cache
     */
    size(): number;
}
//# sourceMappingURL=cache.d.ts.map