"""Merging module — efficient multi-model merging with auto-optimization."""

from model_osmosis.merging.strategies import (
    MergeStrategy,
    WeightedAverageStrategy,
    SLERPStrategy,
    TIESStrategy,
    DAREStrategy,
    BreadcrumbsStrategy,
    ConsensusStrategy,
)
from model_osmosis.merging.merger import MultiModelMerger
from model_osmosis.merging.cross_merger import CrossMerger
from model_osmosis.merging.llm_cross_merger import LLMCrossMerger, LLMCrossMergeConfig
from model_osmosis.merging.modality_bridge import ModalityBridge
from model_osmosis.merging.streaming import StreamingParameterLoader
from model_osmosis.merging.evaluator import MergeEvaluator
from model_osmosis.merging.smart_merge_engine import (
    StrategySelection,
    default_selection,
    resolve_strategy_engine_mode,
    select_recipe_for_tensor_groups,
)
from model_osmosis.merging.cross_merge_engine import (
    CrossMergeSelection,
    resolve_cross_opt_stage,
    select_cross_merge_recipe,
)

__all__ = [
    "MultiModelMerger",
    "CrossMerger",
    "LLMCrossMerger",
    "LLMCrossMergeConfig",
    "ModalityBridge",
    "MergeStrategy",
    "WeightedAverageStrategy",
    "SLERPStrategy",
    "TIESStrategy",
    "DAREStrategy",
    "BreadcrumbsStrategy",
    "ConsensusStrategy",
    "StreamingParameterLoader",
    "MergeEvaluator",
    "StrategySelection",
    "default_selection",
    "resolve_strategy_engine_mode",
    "select_recipe_for_tensor_groups",
    "CrossMergeSelection",
    "resolve_cross_opt_stage",
    "select_cross_merge_recipe",
]

