/**
 * 간격 계산 서비스
 * 단일 책임 원칙 (SRP) 적용
 */
import type { SpacedRepetitionFeatures, SpacedRepetitionWeights, IntervalCalculationResult } from '../../../../shared/types/spaced-repetition.types.js';
import type { IntervalCalculationStrategy } from '../../../../shared/interfaces/spaced-repetition.interface.js';
/**
 * 기본 간격 계산 전략
 * Memento-Goals.md의 간격 반복 공식 구현
 */
export declare class DefaultIntervalStrategy implements IntervalCalculationStrategy {
    private weights;
    constructor(weights: SpacedRepetitionWeights);
    calculateInterval(currentInterval: number, features: SpacedRepetitionFeatures): IntervalCalculationResult;
    private calculateConfidence;
}
/**
 * 보수적 간격 계산 전략
 * 더 짧은 간격으로 안전한 학습 보장
 */
export declare class ConservativeIntervalStrategy implements IntervalCalculationStrategy {
    private weights;
    constructor(weights: SpacedRepetitionWeights);
    calculateInterval(currentInterval: number, features: SpacedRepetitionFeatures): IntervalCalculationResult;
}
/**
 * 적응형 간격 계산 전략
 * 학습자의 성과에 따라 동적으로 조정
 */
export declare class AdaptiveIntervalStrategy implements IntervalCalculationStrategy {
    private weights;
    private performanceHistory;
    constructor(weights: SpacedRepetitionWeights, performanceHistory?: boolean[]);
    calculateInterval(currentInterval: number, features: SpacedRepetitionFeatures): IntervalCalculationResult;
    private calculatePerformanceAdjustment;
    updatePerformanceHistory(success: boolean): void;
}
//# sourceMappingURL=interval-calculation.service.d.ts.map