How do I distinguish between loading, not found, not allowed?

When using the useQuery hook it either gives back null, or the result I asked for. Is there a way to know if it’s still loading the data, if it didn’t get any data (it didn’t exist) or if I wasn’t allowed to fetch the data?

Seems like you would want some kind of Result type back instead of Option/nullable? Is there any way to do this, manual without using the hook?