Yes, this is a useful function that you can delegate to your social graph.
E.g. if an npub got 10 mutes from the set of npubs that are 3 hops away from you (follows, follows of follows...), then it's muted.
However, I think about the other way around. Everything that is not in the whitelist is not shown.
Whitelist can come prepopulated by social graph (again, think about all npubs from 3 hops from u)