"""
DSS Translation Dictionary Module

Provides translation between external design token formats and DSS canonical structure.
"""

from .canonical import (
    DSS_CANONICAL_COMPONENTS,
    DSS_CANONICAL_TOKENS,
    DSS_COMPONENT_VARIANTS,
    DSS_TOKEN_ALIASES,
    get_canonical_token_categories,
    is_valid_dss_token,
    resolve_alias,
)
from .loader import TranslationDictionaryLoader
from .merger import ThemeMerger
from .models import (
    ComponentMapping,
    CustomProp,
    MappingType,
    PatternMapping,
    ResolvedTheme,
    ResolvedToken,
    TokenMapping,
    TranslationDictionary,
    TranslationMappings,
    TranslationRegistry,
    TranslationSource,
)
from .resolver import TokenResolver
from .validator import TranslationValidator, ValidationError, ValidationResult
from .writer import TranslationDictionaryWriter

__all__ = [
    # Models
    "TranslationSource",
    "MappingType",
    "TokenMapping",
    "ComponentMapping",
    "PatternMapping",
    "CustomProp",
    "TranslationMappings",
    "TranslationDictionary",
    "TranslationRegistry",
    "ResolvedToken",
    "ResolvedTheme",
    # Loader
    "TranslationDictionaryLoader",
    # Resolver
    "TokenResolver",
    # Merger
    "ThemeMerger",
    # Validator
    "TranslationValidator",
    "ValidationResult",
    "ValidationError",
    # Writer
    "TranslationDictionaryWriter",
    # Canonical Definitions
    "DSS_CANONICAL_TOKENS",
    "DSS_CANONICAL_COMPONENTS",
    "DSS_TOKEN_ALIASES",
    "DSS_COMPONENT_VARIANTS",
    "is_valid_dss_token",
    "resolve_alias",
    "get_canonical_token_categories",
]
