UNPKG

@neuroequality/neuroadapt-ai

Version:

AI-powered accessibility personalization for neurodivergent users

83 lines (82 loc) 2.68 kB
import { EventEmitter } from 'eventemitter3'; import { UserInteraction, PredictionResult, AdaptationSuggestion, ModelState, FeatureVector, ModelMetrics } from '../types/common.js'; /** * Events emitted by PredictionEngine */ export interface PredictionEngineEvents { 'prediction': (result: PredictionResult) => void; 'adaptation-suggested': (suggestion: AdaptationSuggestion) => void; 'model-updated': (state: ModelState) => void; 'training-complete': (metrics: ModelMetrics) => void; 'error': (error: Error) => void; } /** * Configuration for prediction engine */ export interface PredictionEngineConfig { modelPath?: string; autoTrain?: boolean; trainingInterval?: number; minSamplesForTraining?: number; maxTrainingData?: number; learningRate?: number; featureEngineering?: boolean; enableOnlinelearning?: boolean; } /** * PredictionEngine provides AI-powered adaptive learning for user preferences */ export declare class PredictionEngine extends EventEmitter<PredictionEngineEvents> { private config; private model; private trainingData; private interactions; private featureConfig; private modelState; private trainingTimer; constructor(config?: PredictionEngineConfig); /** * Record user interaction for learning */ recordInteraction(interaction: UserInteraction): void; /** * Predict preference adjustment based on current context */ predictPreference(currentPreferences: Record<string, unknown>, context?: Record<string, unknown>): Promise<PredictionResult<Record<string, unknown>>>; /** * Suggest adaptations based on current behavior */ suggestAdaptations(currentState: Record<string, unknown>, recentInteractions?: UserInteraction[]): Promise<AdaptationSuggestion[]>; /** * Add training data with feedback */ addTrainingData(input: FeatureVector, output: unknown, feedback?: number): void; /** * Train the model with current data */ trainModel(): void; /** * Get current model state */ getModelState(): ModelState; /** * Clear training data and reset model */ reset(): void; /** * Stop auto-training */ destroy(): void; private startAutoTraining; private extractFeatures; private extractBehaviorFeatures; private processInteractionForLearning; private calculateConfidence; private generateAdaptationSuggestions; private generateReasoning; private detectMotionSensitivity; private detectCognitiveLoad; private evaluateModel; private getFeatureNames; } //# sourceMappingURL=engine.d.ts.map