It is already exposed.
If you instantiate a FileDescriptor from your raw fd, then you can use wait_readable or wait_writable which will wait until the condition is fulfilled.
Note though that I don’t think the necessary functions for that exist on Windows, if that is needed.
However, that doesn’t really help with what this thread is about.