"""
Unified configuration management for MarkiTect project.

This module provides a centralized configuration system that consolidates
scattered configuration patterns across TDDAI, Gitea, MarkiTect, and other modules.

Main exports:
    - BaseConfig: Base configuration class with common functionality
    - ConfigurationError: Unified configuration exception
    - load_env_file: Utility for loading environment files
    - get_unified_config: Main configuration access point
"""

from .base import BaseConfig
from .exceptions import ConfigurationError, ConfigValidationError
from .loaders import load_env_file, resolve_path
from .manager import UnifiedConfigManager, get_unified_config, MarkitectConfig, reload_config, get_config_status
from .compat import TddaiConfigCompat, GiteaConfigCompat, get_tddai_config, get_gitea_config

__all__ = [
    # Core configuration
    'BaseConfig',
    'MarkitectConfig',
    'UnifiedConfigManager',
    'get_unified_config',
    'reload_config',
    'get_config_status',

    # Exceptions
    'ConfigurationError',
    'ConfigValidationError',

    # Utilities
    'load_env_file',
    'resolve_path',

    # Compatibility layer
    'TddaiConfigCompat',
    'GiteaConfigCompat',
    'get_tddai_config',
    'get_gitea_config'
]