"""
Configuration Management
========================

Configuration loading, validation, and building.

Modules:
- manager: ConfigManager for loading/saving configs
- builder: OptimizationConfigBuilder for creating configs
- setup_wizard: Interactive configuration setup
- capability_matcher: Match capabilities to requirements
"""

# Lazy imports to avoid circular dependencies
def __getattr__(name):
    if name == 'ConfigManager':
        from .manager import ConfigManager
        return ConfigManager
    elif name == 'ConfigValidationError':
        from .manager import ConfigValidationError
        return ConfigValidationError
    elif name == 'OptimizationConfigBuilder':
        from .builder import OptimizationConfigBuilder
        return OptimizationConfigBuilder
    elif name == 'SetupWizard':
        from .setup_wizard import SetupWizard
        return SetupWizard
    elif name == 'CapabilityMatcher':
        from .capability_matcher import CapabilityMatcher
        return CapabilityMatcher
    elif name == 'TemplateLoader':
        from .template_loader import TemplateLoader
        return TemplateLoader
    raise AttributeError(f"module 'optimization_engine.config' has no attribute '{name}'")

__all__ = [
    'ConfigManager',
    'ConfigValidationError',
    'OptimizationConfigBuilder',
    'SetupWizard',
    'CapabilityMatcher',
    'TemplateLoader',
]
