/** * Glass MCP v9.0.0 Configuration Manager * * Centralized configuration management for all Glass MCP components * with environment-specific settings and runtime configuration updates. * * @version 9.0.0 * @author Glass MCP Vision Team */ import { EventEmitter } from 'events'; /** * Configuration sections for different system components */ export interface GlassMCPConfiguration { system: { version: string; environment: 'development' | 'production' | 'testing'; logLevel: 'debug' | 'info' | 'warn' | 'error'; enableMetrics: boolean; metricsInterval: number; }; vision: { screenCapture: { enabled: boolean; quality: 'low' | 'medium' | 'high' | 'ultra'; frameRate: number; enableCaching: boolean; cacheSize: number; timeout: number; }; ocr: { enabled: boolean; languages: string[]; accuracy: 'fast' | 'balanced' | 'accurate'; enablePreprocessing: boolean; confidenceThreshold: number; }; objectDetection: { enabled: boolean; model: 'yolov8n' | 'yolov8s' | 'yolov8m' | 'yolov8l' | 'yolov8x'; confidenceThreshold: number; nmsThreshold: number; maxDetections: number; }; }; automation: { enabled: boolean; timeout: number; retryAttempts: number; retryDelay: number; enableSmartWait: boolean; popupHandling: { enabled: boolean; timeout: number; strategies: string[]; }; elementDetection: { enableVisualSearch: boolean; enableTextSearch: boolean; enablePatternMatching: boolean; searchTimeout: number; }; }; intelligence: { contextAnalysis: { enabled: boolean; analysisDepth: 'basic' | 'detailed' | 'comprehensive'; historySize: number; enablePrediction: boolean; }; decisionEngine: { enabled: boolean; confidenceThreshold: number; enableRiskAssessment: boolean; enableOptimization: boolean; }; learning: { enabled: boolean; learningRate: number; adaptationSpeed: 'slow' | 'medium' | 'fast'; enablePersonalization: boolean; }; errorRecovery: { enabled: boolean; maxRetryAttempts: number; recoveryStrategies: string[]; enableAutoCorrection: boolean; }; }; drawing: { visualFeedback: { enabled: boolean; precision: number; smoothing: boolean; enableRealTimeAnalysis: boolean; }; shapeRecognition: { enabled: boolean; accuracy: 'basic' | 'advanced' | 'expert'; enableCorrection: boolean; correctionThreshold: number; }; pathOptimization: { enabled: boolean; level: 'basic' | 'advanced' | 'expert'; enableSmoothing: boolean; enableSimplification: boolean; enableSpeedOptimization: boolean; }; }; performance: { maxConcurrentOperations: number; memoryThresholdMB: number; cpuThresholdPercent: number; enableAutoOptimization: boolean; enableResourceMonitoring: boolean; cacheConfiguration: { maxSize: number; ttl: number; compressionEnabled: boolean; }; }; security: { enableSecureMode: boolean; enableAuditLogging: boolean; allowedOperations: string[]; deniedOperations: string[]; encryptionEnabled: boolean; }; integration: { mcp: { serverPort: number; enableWebSocket: boolean; enableHTTP: boolean; corsEnabled: boolean; corsOrigins: string[]; }; external: { enableAPIAccess: boolean; apiKeys: Record; webhooks: { enabled: boolean; endpoints: string[]; }; }; }; } /** * Configuration validation result */ export interface ConfigValidationResult { isValid: boolean; errors: string[]; warnings: string[]; } /** * Configuration change event */ export interface ConfigChangeEvent { section: string; key: string; oldValue: any; newValue: any; timestamp: number; } /** * Glass MCP Configuration Manager * * Provides centralized configuration management with validation, * hot reloading, and environment-specific overrides. */ export declare class ConfigurationManager extends EventEmitter { private config; private configPath; private watchers; private isWatching; constructor(configPath?: string); /** * Initialize configuration manager */ initialize(): Promise; /** * Get complete configuration */ getConfiguration(): GlassMCPConfiguration; /** * Get configuration section */ getSection(section: K): GlassMCPConfiguration[K]; /** * Get specific configuration value */ getValue(section: K, key: string): any; /** * Set configuration value */ setValue(section: K, key: string, value: any): Promise; /** * Load configuration from file */ private loadConfiguration; /** * Save configuration to file */ private saveConfiguration; /** * Validate configuration */ private validateConfiguration; /** * Start watching configuration file for changes */ private startConfigWatching; /** * Get default configuration path */ private getDefaultConfigPath; /** * Get default configuration */ private getDefaultConfiguration; /** * Merge configurations deeply */ private mergeConfigurations; /** * Get nested configuration value */ private getNestedValue; /** * Set nested configuration value */ private setNestedValue; /** * Stop configuration watching and cleanup */ shutdown(): Promise; } /** * Create and initialize configuration manager */ export declare function createConfigurationManager(configPath?: string): Promise; //# sourceMappingURL=configuration-manager.d.ts.map