/** * Eviction Algorithm - Remove low-score patterns * * Keeps top N patterns per phase (default 100) based on score. * Protects high-frequency (≥5) and recent (≤7 days) patterns. */ import type { MetaPattern, Phase } from '../core/schema.js'; /** * Eviction policy */ export interface EvictionPolicy { /** Maximum patterns per phase */ maxPerPhase: number; /** Protect patterns with frequency >= this value */ protectFrequency: number; /** Protect patterns seen within this many days */ protectDays: number; } /** * Default eviction policy */ export declare const DEFAULT_EVICTION_POLICY: EvictionPolicy; /** * Evict low-score patterns * * @param patterns - Patterns to evict from * @param policy - Eviction policy * @returns Kept patterns */ export declare function evictLowScorePatterns(patterns: MetaPattern[], policy?: EvictionPolicy): MetaPattern[]; /** * Get eviction candidates (patterns that would be removed) * * @param patterns - Patterns to analyze * @param policy - Eviction policy * @returns Patterns that would be evicted */ export declare function getEvictionCandidates(patterns: MetaPattern[], policy?: EvictionPolicy): MetaPattern[]; /** * Get eviction statistics * * @param patterns - Patterns to analyze * @param policy - Eviction policy * @returns Statistics */ export declare function getEvictionStats(patterns: MetaPattern[], policy?: EvictionPolicy): { total: number; toKeep: number; toEvict: number; protected: number; byPhase: Record; }; //# sourceMappingURL=eviction.d.ts.map