def METHOD_NAME(model: TModel) -> BackendType:
    """
    Returns the NNCF backend name string inferred from the type of the model object passed into this function.
    :param model: The framework-specific model.
    :return: A BackendType representing the correct NNCF backend to be used when working with the framework.
    """
    available_backends = get_available_backends()
    if BackendType.TORCH in available_backends and is_torch_model(model):
        return BackendType.TORCH
    if BackendType.TENSORFLOW in available_backends and is_tensorflow_model(model):
        return BackendType.TENSORFLOW
    if BackendType.ONNX in available_backends and is_onnx_model(model):
        return BackendType.ONNX
    if BackendType.OPENVINO in available_backends and is_openvino_model(model):
        return BackendType.OPENVINO
    raise RuntimeError(
        "Could not infer the backend framework from the model type because "
        "the framework is not available or the model type is unsupported. "
        "The available frameworks found: {}.".format(", ".join([b.value for b in available_backends]))
    )