Empty states are the messages that appear when there is no data yet, or when a filtered search returned no results.
A progress loader is not an empty state. An empty state appears when the page has loaded all of its data and there is still nothing to show the user.
Examples:
A good empty state should answer these questions:
Ideally, the interface should distinguish between initial states (nothing added yet) and zero results (there is data, but your conditions were too narrow).