How can a theme define which settings for blocks are available in the block editor?

You’ll have to define the settings on theme.json. Here are the documentation links that would be of help.

https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json/
https://developer.wordpress.org/themes/advanced-topics/theme-json/