UInterface with pointer argument fails to build as gen.cpp mismatches

I have an interface that declares a function that takes another interface as an argument but the code gen isnt matching the signature. I’m unable to find a similar example, any ideas?

Interace:

#pragma once

#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "ISelectable.h"
#include "SelectionHUD.generated.h"

UINTERFACE(MinimalAPI)
class USelectionHUD : public UInterface
{
	GENERATED_BODY()
};

/**
 * 
 */
class RISEOFRYLEH_API ISelectionHUD
{
	GENERATED_BODY()
public:
	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
	void OnSelectStart();

	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
	void OnSelectHold();

	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
	void OnSelectRelease(float holdTime);

	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
	void OnInspectSelection(ISelectable* inspected);

	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
	void OnClearSelected();
};

Error:

Severity	Code	Description	Project	File	Line	Suppression State
Error	C2511	'void ISelectionHUD::OnInspectSelection(const TScriptInterface<ISelectable> &)': overloaded member function not found in 'ISelectionHUD'	path\to\SelectionHUD.gen.cpp	32	

The line in the gen.cpp:

void ISelectionHUD::OnInspectSelection(const TScriptInterface<ISelectable>& inspected)