What exactly does the state_dict of a model contain?

As far as my understanding, the state dict should contain all the information about the model. I am sure that all the parameters will be contained.
But does the state dict contain other settings, like model.eval()?

The state_dict contains all parameters and buffers registered to your module (not the architecture or some other code).
The training attribute is not part of the state_dict and will be set to True in newly initialized models.