Can TypeScript filter candidates based on currently provided props? This is React code but probably applies outside of React
https://www.typescriptlang.org/play/?#code/C4TwDgpgBAwg9gWwXAdgBQE5zAZygXigG8oBjAGwEMccA5ShCAfgC4odgMBLFAcygC+AbgBQI0JCiZseQvCSppuKADIoAChFRtUAD7EolNgHJKqCMb1RTwAO5xjAGigAjShgDKkUlwBmXUjYUAFcEFwgMQS0dfRIja0pgAAsMCAsrU184YIxjISgsuC8IH39A9k4efgERAEpREQATEqpUguCUUmAuVCgAaUQwcxRgdQB9NiUcWrYOgGsUOFsUBoGEIZQIEfU4kydXd2LSgLYARgAmAGZBeqA
The Playground lets you write TypeScript or JavaScript online in a safe and sharable way.