Serialization of Animator state

Is it possible to serialize the state of an Animator and later restore it?
If I want to use Animator to control game events (eg. shooting from the animation event, etc) and want to be able to save/load the game, I need to be able to serialize the Animator so I can restore the current states and transitions and their progress in all layers. Is that possible?

As i know you can do a workaround to serialize last animator state. But you cant serialize time of animation run in that state