import type { EvalResult } from "../core/types.ts"; import type { ExecutionContext } from "../core/ExecutionContext.ts"; import type { ResidualMemory } from "../memory/ResidualMemory.ts"; import type { EmbeddingIndex } from "./EmbeddingIndex.ts"; export interface LearningOutcome { pattern: string; score: number; member: string; skill: string; } export interface LearnerStatus { lastUpdate: string | null; highScoreCount: number; midScoreCount: number; lowScoreCount: number; totalEpisodes: number; confidenceTrend: 'rising' | 'falling' | 'stable'; memberBreakdown: Record; } export declare class EpisodeLearner { private residualMemory?; private index?; private highScoreCount; private midScoreCount; private lowScoreCount; private totalEpisodes; private lastUpdate; private scoreHistory; private memberBreakdown; constructor(residualMemory?: ResidualMemory, index?: EmbeddingIndex); /** Current learning state: band counts, totals, trend, and per-member breakdown. */ getStatus(): LearnerStatus; learn(evalResult: EvalResult, context: ExecutionContext): Promise; private trackMember; /** Compares the mean of the newer half of scored episodes against the older half. */ private confidenceTrend; private averageScore; private storeOutcome; } //# sourceMappingURL=EpisodeLearner.d.ts.map