I have a custom post type and I would like for it to not use any of the default WordPress post statuses, but instead only use the custom ones I create for it. Is there a way to deregister a post status from a specific post type?
There is not a way, but it may be on track as being a feature in Wordpress in the future. https://core.trac.wordpress.org/ticket/23168
Wordpress currently depends on the core statuses, even if you hide them. Woocommerce, for example, has its own statuses for its custom post types, but they still depend on "draft" etc.
I needed this a couple of months ago, and opted instead to use jQuery on the admin pages for the post type to hide all but my own personal statii (plural?) from the status dropdown.
I could be wrong... :)
Piklist can do this for you. It "removes the default WordPress statuses and replaces them." It's part of their suite of WordPress tools. Details here: https://piklist.com/user-guide/tutorials/creating-custom-post-statuses/