/**
 * Migration: 003 - Consolidation Score Fields
 * Description: Add consolidation score system fields to memory_item table
 * Version: 3.0
 * Date: 2025-01-XX
 */
import type Database from 'better-sqlite3';
import type { Migration } from '../types.js';
/**
 * Consolidation Score Fields Migration
 *
 * This migration:
 * 1. Adds recall_count, last_accessed_at, consolidation_score, g_value fields to memory_item table
 * 2. Creates indexes for performance optimization
 * 3. Initializes existing data with default values
 */
export declare class ConsolidationScoreFieldsMigration implements Migration {
    version: string;
    name: string;
    description: string;
    /**
     * Load SQL file content
     */
    private loadSQLFile;
    /**
     * Execute SQL script
     * Removes transaction commands (BEGIN TRANSACTION, COMMIT) as MigrationRunner manages transactions
     */
    private executeSQL;
    /**
     * Check if table exists
     */
    private tableExists;
    /**
     * Check if column exists in table
     */
    private columnExists;
    /**
     * Check if index exists
     */
    private indexExists;
    /**
     * Validate before migration
     */
    validateBefore(db: Database.Database): Promise<void>;
    /**
     * Calculate S(t) function: (1 - e^(-t)) / (1 + e^(-t))
     * @param t Time elapsed in hours
     */
    private calculateS;
    /**
     * Calculate consolidation score using Hou et al. normalized recall probability formula
     * p_n(t) = (1 - exp(-r * e^(-t/g_n))) / (1 - e^(-1))
     *
     * @param recallCount n: number of recalls
     * @param timeElapsedHours t: time elapsed in hours
     * @param gValue g_n: current decay constant value
     * @param rBase r: initial recall probability constant (default 0.5)
     * @param pinned Whether the memory is pinned (minimum 0.25 if pinned)
     */
    private calculateConsolidationScore;
    /**
     * Get r_base value based on memory type
     */
    private getRBaseForType;
    /**
     * Execute migration (Up)
     */
    up(db: Database.Database): Promise<void>;
    /**
     * Rollback migration (Down)
     */
    down(db: Database.Database): Promise<void>;
    /**
     * Validate after migration
     */
    validateAfter(db: Database.Database): Promise<void>;
}
//# sourceMappingURL=003-consolidation-score-fields.d.ts.map