import { EventEmitter } from 'eventemitter3';
import { Preferences } from '@neuroadapt/core';

export interface CognitiveLoadMetrics {
    cognitiveLoad: number;
    taskComplexity: number;
    memoryLoad: number;
    distractorImpact: number;
}
export interface SensoryData {
    audioSensitivity?: number;
    vibrationTolerance?: number;
    lightSensitivity?: number;
    temperaturePreference?: number;
}
export interface AdaptationPattern {
    id: string;
    userId: string;
    patterns: {
        visual: VisualPattern;
        cognitive: CognitivePattern;
        motor: MotorPattern;
        sensory: SensoryPattern;
    };
    confidence: number;
    lastUpdated: Date;
    effectivenessScore: number;
}
export interface VisualPattern {
    preferredContrast: number;
    colorSensitivity: string[];
    motionTolerance: number;
    fontSizePreference: number;
    brightnessAdaptation: number;
}
export interface CognitivePattern {
    processingSpeed: number;
    workingMemoryCapacity: number;
    attentionSpan: number;
    preferredInformationDensity: number;
    distractionSensitivity: number;
}
export interface MotorPattern {
    clickAccuracy: number;
    hoverDuration: number;
    keyboardSpeed: number;
    preferredTargetSize: number;
    gestureComplexity: number;
}
export interface SensoryPattern {
    soundSensitivity: number;
    vibrationTolerance: number;
    lightSensitivity: number;
    temperaturePreference: number;
    texturePreference: string[];
}
export interface AdaptationEvent {
    type: 'visual_adjustment' | 'cognitive_load_change' | 'motor_assistance' | 'sensory_calibration';
    data: any;
    confidence: number;
    timestamp: Date;
}
export interface MLModelConfig {
    modelType: 'neural_network' | 'decision_tree' | 'random_forest' | 'svm';
    parameters: Record<string, any>;
    trainingDataSize: number;
    accuracy: number;
    lastTrained: Date;
}
/**
 * Advanced Adaptive Engine using Machine Learning for real-time personalization
 */
export declare class AdaptiveEngine extends EventEmitter {
    private config;
    private patterns;
    private mlModels;
    private realTimeMetrics;
    private adaptationHistory;
    private isLearning;
    constructor(config?: {
        learningRate: number;
        confidenceThreshold: number;
        maxPatternAge: number;
        realTimeAdaptation: boolean;
    });
    /**
     * Initialize machine learning models for different adaptation types
     */
    private initializeModels;
    /**
     * Analyze user behavior and generate adaptation patterns
     */
    analyzeUserBehavior(userId: string, interactions: any[], preferences: Preferences, cognitiveMetrics: CognitiveLoadMetrics, sensoryData: SensoryData): Promise<AdaptationPattern>;
    /**
     * Analyze visual interaction patterns
     */
    private analyzeVisualPatterns;
    /**
     * Analyze cognitive load patterns using ML
     */
    private analyzeCognitivePatterns;
    /**
     * Analyze motor interaction patterns
     */
    private analyzeMotorPatterns;
    /**
     * Analyze sensory adaptation patterns
     */
    private analyzeSensoryPatterns;
    /**
     * Apply real-time adaptations based on patterns
     */
    private applyRealTimeAdaptations;
    /**
     * Train ML models with new data
     */
    trainModels(trainingData: any[]): Promise<void>;
    /**
     * Predict optimal adaptations for new user interactions
     */
    predictAdaptations(userId: string, currentContext: any): Promise<AdaptationEvent[]>;
    /**
     * Get adaptation effectiveness metrics
     */
    getAdaptationMetrics(userId: string): {
        totalAdaptations: number;
        averageConfidence: number;
        effectivenessScore: number;
        lastAdaptation: Date | null;
    };
    private analyzeContrastPreferences;
    private analyzeColorSensitivity;
    private analyzeMotionTolerance;
    private analyzeFontPreferences;
    private analyzeBrightnessAdaptation;
    private predictProcessingSpeed;
    private assessWorkingMemoryCapacity;
    private calculateAttentionSpan;
    private optimizeInformationDensity;
    private assessDistractionSensitivity;
    private calculateClickAccuracy;
    private calculateOptimalHoverDuration;
    private calculateKeyboardSpeed;
    private calculateOptimalTargetSize;
    private assessGestureComplexity;
    private calculatePatternConfidence;
    private calculateEffectivenessScore;
    private simulateModelTraining;
    private runModelPrediction;
}
export default AdaptiveEngine;
//# sourceMappingURL=adaptive-engine.d.ts.map