Moral hazard models feature agents' hidden actions (or these actions are not contractible). For example, a manager's contract cannot determine a wage contingent on the manager's effort, only contingent on other observable outcomes such as "success" / "no success" of a project.
The next two classes of models assume that actions are observable/contractible, but entail different costs to different unobservable types.
In screening models, a principal offers a contract to a privately informed agent. It is not an action, but an inherent type which is not known. For example, a seller does not know a buyer's willingness to pay. Taking the manager example, the principal would offer different contracts for different "manager types" (e.g., "motivated+productive" / "not motivated+unproductive") in which the "effort level" is already set (and by assumption is observable and contractible such as "hours worked"). Then manager types could self-select into the different contracts as working hours are less troublesome for the 'motivated type'.
Another interesting class of models are signaling models. Here the informed party moves first and offers the contract. Taking the same example, motivated managers would offer to work longer for a higher wage which they deserve as they are more productive. The unmotivated manager would love to pocket the higher wage, but the longer hours are too costly for him - so he would not offer such a contract.