import type { PersonaFeedback, LearningAnalytics } from '../types/personas.js';
import type { LearningRecommendations, InputContext } from '../types/context.js';
export interface ActivationData {
    userInput: string;
    command?: string | undefined;
    personas: string[];
    collaborationPattern?: string | undefined;
    confidence?: number | number[] | undefined;
    activationType: 'manual' | 'automatic';
    projectType?: string | undefined;
    filePatterns?: string[] | undefined;
    learningRecommendations?: LearningRecommendations | undefined;
}
declare class PersonaLearningEngine {
    private dataDir;
    private memoryFile;
    private analyticsFile;
    private sessionMemory;
    private persistentMemory;
    private config;
    private sessionId;
    private sessionStartTime;
    constructor(dataDir?: string);
    initialize(): Promise<boolean>;
    private loadPersistentMemory;
    private savePersistentMemory;
    recordActivation(activationData: ActivationData): void;
    recordFeedback(feedbackData: PersonaFeedback): void;
    private captureContext;
    private normalizeFilePatterns;
    private updateActivationPatterns;
    private learnFromFeedback;
    private findRelatedInteractions;
    private reinforceSuccessfulPattern;
    private recordFailedPattern;
    private generatePatternKey;
    private categorizeFilePatterns;
    getActivationRecommendations(context: Partial<InputContext>): LearningRecommendations;
    private findMatchingPatterns;
    private findAntiPatterns;
    private contextMatches;
    private calculateFilePatternSimilarity;
    private suggestAdaptations;
    private cleanExpiredPatterns;
    private updatePatternSuccessRates;
    private sanitizeUserInput;
    private generateSessionId;
    getAnalytics(): LearningAnalytics;
    private calculateLearningEffectiveness;
    private getTopPatterns;
    private getSystemRecommendations;
    endSession(): Promise<void>;
}
export default PersonaLearningEngine;
//# sourceMappingURL=learning-engine.d.ts.map