Steam VR and C++ project set up

I’m trying to develop a simple test project for HTC Vive with C++ features. I was able to run the sample “SteamVR Quickstart” on the UE4 documentation section.

I did not found any clear documentation about setting up and develop using SteamVR in C++ projects, not even an API Documentation of SteamVR.

I found some project templates for VR tho, one in special contains a little VRCharacter sample developped in C++.

This sample uses the IHeadMountedDisplay interface in some lines, all good untill here because is one of the Blueprints functions availables. But it also uses the FSteamVRHMD class for example, and do not know where this class comes from.

The Public Dependency Module Names declares some Plugins to import:

PublicDependencyModuleNames.AddRange(new string] { "Core", "CoreUObject", "Engine", "InputCore" });

        /* VR Required Modules */ 
		PrivateDependencyModuleNames.AddRange(new string] { "HeadMountedDisplay" });

In Private Dependencies should i add the SteamVR statement?
There is others classes like FSteamVRHMD availables?

I have many others questions about SteamVR for HTC Vive and i am developing blind and hope you can answer me, thanks in advance.