"""
Design System Server (DSS) - Consolidated Platform
A modern design system orchestration platform with comprehensive tooling
"""

__version__ = "1.0.0-consolidated"

# Core models
from dss.models import (
    Theme,
    Component,
    ComponentVariant,
    Project,
    ProjectMetadata,
    DesignToken as ModelDesignToken,
    TokenCategory as ModelTokenCategory,
)

# Validators
from dss.validators import (
    ProjectValidator,
    ValidationResult,
    ValidationError,
    ValidationStage,
)

# Tools
from dss.tools import (
    StyleDictionaryTool,
    StyleDictionaryWrapper,
    ShadcnTool,
    ShadcnWrapper,
    FigmaWrapper,
    FigmaAPIError,
)

# Ingest (multi-source token extraction)
from dss.ingest import (
    DesignToken,
    TokenSource,
    TokenCollection,
    CSSTokenSource,
    SCSSTokenSource,
    TailwindTokenSource,
    JSONTokenSource,
    TokenMerger,
    MergeStrategy,
)

# Analyze (code analysis and scanning)
from dss.analyze import (
    ProjectAnalysis,
    StylePattern,
    QuickWin,
    ProjectScanner,
    ReactAnalyzer,
    StyleAnalyzer,
    DependencyGraph,
    QuickWinFinder,
)

# Storybook (integration and generation)
from dss.storybook import (
    StorybookScanner,
    StoryGenerator,
    ThemeGenerator,
)

# Settings and configuration
from dss.settings import (
    DSSSettings,
    DSSManager,
    settings,
    manager,
)

# Status dashboard
from dss.status import (
    StatusDashboard,
    HealthMetric,
)

# Translations (dictionary system)
from dss.translations import (
    TranslationSource,
    MappingType,
    TokenMapping,
    ComponentMapping,
    PatternMapping,
    CustomProp,
    TranslationMappings,
    TranslationDictionary,
    TranslationRegistry,
    ResolvedToken,
    ResolvedTheme,
    TranslationDictionaryLoader,
    TokenResolver,
    ThemeMerger,
    TranslationValidator,
    TranslationDictionaryWriter,
    DSS_CANONICAL_TOKENS,
    DSS_CANONICAL_COMPONENTS,
    DSS_TOKEN_ALIASES,
    DSS_COMPONENT_VARIANTS,
    is_valid_dss_token,
    resolve_alias,
    get_canonical_token_categories,
)

# Project Management
from dss.project import (
    DSSProject,
    ProjectConfig,
    FigmaSource,
    FigmaFile,
    OutputConfig,
    ProjectStatus,
    ProjectManager,
    ProjectRegistry,
    FigmaProjectSync,
)

__all__ = [
    # Version
    "__version__",
    # Models
    "Theme",
    "Component",
    "ComponentVariant",
    "Project",
    "ProjectMetadata",
    "ModelDesignToken",
    "ModelTokenCategory",
    # Validators
    "ProjectValidator",
    "ValidationResult",
    "ValidationError",
    "ValidationStage",
    # Tools
    "StyleDictionaryTool",
    "StyleDictionaryWrapper",
    "ShadcnTool",
    "ShadcnWrapper",
    "FigmaWrapper",
    "FigmaAPIError",
    # Ingest
    "DesignToken",
    "TokenSource",
    "TokenCollection",
    "CSSTokenSource",
    "SCSSTokenSource",
    "TailwindTokenSource",
    "JSONTokenSource",
    "TokenMerger",
    "MergeStrategy",
    # Analyze
    "ProjectAnalysis",
    "StylePattern",
    "QuickWin",
    "ProjectScanner",
    "ReactAnalyzer",
    "StyleAnalyzer",
    "DependencyGraph",
    "QuickWinFinder",
    # Storybook
    "StorybookScanner",
    "StoryGenerator",
    "ThemeGenerator",
    # Settings
    "DSSSettings",
    "DSSManager",
    "settings",
    "manager",
    # Status
    "StatusDashboard",
    "HealthMetric",
    # Translations
    "TranslationSource",
    "MappingType",
    "TokenMapping",
    "ComponentMapping",
    "PatternMapping",
    "CustomProp",
    "TranslationMappings",
    "TranslationDictionary",
    "TranslationRegistry",
    "ResolvedToken",
    "ResolvedTheme",
    "TranslationDictionaryLoader",
    "TokenResolver",
    "ThemeMerger",
    "TranslationValidator",
    "TranslationDictionaryWriter",
    "DSS_CANONICAL_TOKENS",
    "DSS_CANONICAL_COMPONENTS",
    "DSS_TOKEN_ALIASES",
    "DSS_COMPONENT_VARIANTS",
    "is_valid_dss_token",
    "resolve_alias",
    "get_canonical_token_categories",
    # Project Management
    "DSSProject",
    "ProjectConfig",
    "FigmaSource",
    "FigmaFile",
    "OutputConfig",
    "ProjectStatus",
    "ProjectManager",
    "ProjectRegistry",
    "FigmaProjectSync",
]
