RequiresApi vs TargetApi android annotations

Quoi la différence entre RequiresApi et TargetApi?

Échantillon dans kotlin:

@RequiresApi(api = Build.VERSION_CODES.M)
@TargetApi(Build.VERSION_CODES.M)
class FingerprintHandlerM() : FingerprintManager.AuthenticationCallback()

REMARQUE: FingerprintManager.AuthenticationCallback nécessite api M

NOTE 2: si je n'utilise pas TargetApi peluches échouer avec l'erreur class requires api level 23...