Currently, rendering of expired bids can be suppressed with setConfig({auctionOptions: {suppressExpiredRender: true}}), and will trigger the expiredRender event. Using those, a publisher could for example refresh the slot instead of rendering an expired bid.
However this is not enough for out of page slots (such as interstitials) because GPT won't allow refreshing or redefining them. Once the slot has been set up for a particular ad there is AFAIK no way to change it.
Prebid should provide a way to say "when an expired bid is being rendered, render this other bid instead". It could for example look like:
pbjs.setConfig({
refreshExpiredBid(expiredBid) {
// return a promise to some other bid
}
})
Related: #13807