I know that I can use the Show block for specific roles setting to manually configure whether a block is displayed to users.
I have a module that defines custom blocks. Rather than relying on the administrator to restrict the block visibility based on roles, can my module limit its blocks from being displayed unless a user has a particular permission?