Beside the Software Model that you will build for every application that shall be automated, there are two more types of Models that help you to efficiently automate your test cases.
The Base Model provides standard implementations for the most common UI control elements and contains some additional helper methods and extensions that help you to interact with your application.
The Environment Models provide interactions with the operating system and additional functionalities that are not related to the application to be tested. It also contains functionalities for web browsers such as file download or basic web authentication. There are different Environment Models for different types of Test Environment such as Windows, Linux, etc.