"""Auto-generated stub for module: model_loading."""
from typing import Any, Optional

# Constants
ModelLoaderCallable: Any

# Functions
def load_model_with_runtime(action_tracker: Any, runtime_framework: str, loaders: dict[str, Any], default_key: str = 'pytorch') -> Any:
    """
    Load model using runtime descriptor with alias and fallback support.
    
        Args:
            action_tracker: Tracker-like object passed to selected loader.
            runtime_framework: Runtime descriptor string requested by caller.
            loaders: Mapping of runtime keys to loader callables.
            default_key: Default loader key used when runtime is ambiguous.
    
        Returns:
            Loaded model artifact from selected loader.
    """
    ...
def load_model_with_strategies(action_tracker: Any, strategies: Any) -> Any:
    """
    Load model using checkpoint, predefined, then scratch fallback order.
    
        Args:
            action_tracker: Tracker-like object exposing ``get_checkpoint_path``.
            strategies: Strategy callbacks for each loading branch.
    
        Returns:
            Loaded model artifact from the first available strategy.
    """
    ...

# Classes
class ModelLoadStrategies:
    # Strategy callbacks for checkpoint/predefined/scratch model loading.
    #
    #     Args:
    #         from_checkpoint: Callback to load model from checkpoint path.
    #         from_predefined: Callback to load model from predefined model value.
    #         from_scratch: Optional callback to create model from scratch.

    ...
class ModelLoaderRegistry:
    # Runtime-keyed model loader registry.
    #
    #     Args:
    #         loaders: Mapping from runtime key to loader callable.
    #         default_key: Default runtime key used when no direct match is found.

    def register(self: Any, runtime_key: str, loader: Any) -> None:
        """
        Register a model loader for a runtime key.
        
                Args:
                    runtime_key: Runtime key used during loader resolution.
                    loader: Loader callable for the runtime key.
        
                Returns:
                    None.
        """
        ...

    def resolve(self: Any, runtime_framework: str) -> Any:
        """
        Resolve a model loader for a runtime descriptor string.
        
                Args:
                    runtime_framework: Runtime descriptor requested by caller.
        
                Returns:
                    Resolved model loader callable.
        """
        ...

