You could add satisfies keyof MyType
function getSharedProperty(obj: PossibleInputs): string | undefined {
if ("assumedUnique" satisfies keyof IFirst in obj) {
return "version 1 of the function";
}
// do some operation using obj.sharedPropertyName
return obj.sharedPropertyName;
}