ol/interaction/UndoRedo is an interaction to handle undo/redo on a map.
Experimental this feature is still in progress and may be buggy.
Just add the interaction to the map to get it working.
It will watch all vector sources and all interactions in the map.
Use the undo and redo method to undo the last recorded operations.
Undo can be stacked in a block to make them undoing at a time. Just enclose the operation between a blockStart() and blockEnd().
You can stack operation on a map by enclosing operations beetween undoblockstart and undoblockend events (map.dispatchEvent('undoblockstart') and map.dispatchEvent('undoblockend')).