/**
 * 리콜 확률 계산 서비스
 * 단일 책임 원칙 (SRP) 적용
 */
import type { RecallProbabilityCalculator } from '../../../../shared/interfaces/spaced-repetition.interface.js';
/**
 * 기본 리콜 확률 계산기
 * 지수 감쇠 모델 사용: P = exp(-time_since_last_review / interval)
 */
export declare class DefaultRecallProbabilityCalculator implements RecallProbabilityCalculator {
    calculateRecallProbability(timeSinceLastReview: number, // 일 단위
    interval: number): number;
}
/**
 * 개선된 리콜 확률 계산기
 * 학습자 특성을 고려한 확률 모델
 */
export declare class EnhancedRecallProbabilityCalculator implements RecallProbabilityCalculator {
    private baseForgettingRate;
    private learningEfficiency;
    constructor(baseForgettingRate?: number, learningEfficiency?: number);
    calculateRecallProbability(timeSinceLastReview: number, interval: number): number;
    updateLearningEfficiency(performance: boolean[]): void;
}
/**
 * 적응형 리콜 확률 계산기
 * 개별 학습자의 망각 곡선을 학습
 */
export declare class AdaptiveRecallProbabilityCalculator implements RecallProbabilityCalculator {
    private forgettingCurves;
    calculateRecallProbability(timeSinceLastReview: number, interval: number, memoryId?: string): number;
    private calculatePersonalizedProbability;
    updateForgettingCurve(memoryId: string, recallData: boolean[]): void;
    private estimateForgettingCurve;
}
//# sourceMappingURL=recall-probability.service.d.ts.map