/** * Configuration management for In Memoria * Centralizes all configuration with proper defaults and validation */ export interface InMemoriaConfig { database: { filename: string; path?: string; connectionPoolSize?: number; busyTimeout?: number; }; performance: { batchSize: number; maxConcurrentFiles: number; fileOperationTimeout: number; cacheSize: number; }; api: { requestTimeout: number; rateLimitRequests: number; rateLimitWindow: number; }; analysis: { supportedLanguages: string[]; maxFileSize: number; skipDirectories: string[]; skipFilePatterns: string[]; }; logging: { level: 'error' | 'warn' | 'info' | 'debug'; enablePerformanceLogging: boolean; }; } export declare class ConfigManager { private static instance; private config; private constructor(); static getInstance(): ConfigManager; getConfig(): InMemoriaConfig; /** * Get database path for a specific project * Always places the database within the analyzed project directory */ getDatabasePath(projectPath?: string): string; /** * Update configuration at runtime */ updateConfig(partial: Partial): void; /** * Validate configuration for common issues */ validateConfig(): { isValid: boolean; errors: string[]; }; /** * Load configuration from environment variables */ private loadFromEnvironment; /** * Get environment-specific configuration hints */ getConfigurationHelp(): string[]; } export declare const config: ConfigManager; //# sourceMappingURL=config.d.ts.map