The imports process is designed so that it is as flexible as possible so that you can import any data in any order you choose.
Currently, each import type is processed by a separate, independent importer service which detects appropriately named files, validates them and then imports them. For each import type, files are processed in the order they were presented to the server. To preserve the aforementioned flexibility, there is no coordination between imports of different types.
If it is important to ensure that one type of import is performed before another then the first import should be submitted and then once it has successfully processed (moved to the succeeded folder) the subsequent import files should be added in turn.
Although there are no direct dependencies between imports and each import processes separately, imports of a given type run sequentially, but concurrently to imports of another type. For instance, if you were to provide a number of product import files, these files would be processed sequentially. If you were simultaneously to provide a number of transaction files too, they would also be processed sequentially, but concurrently with the product import.