Э
Что имеено не понятно? Каждый модуль имеет конкрутный набор маршрутов, куда можно уйти с него. Опиываете эти маршруты в enum'e, далее интерактор просит роутер сходить на какой то экран
router.navigateToDetailScreen()
роутер в свою очередь дергает delegate.performNavigation(.detail)
, т.к. делегат роутера ViewController он дернет performSegue
, как UIKit подготовит для вас контроллер вызовет prepareForSegue
у этого ViewController'а и он запроксирует этот вызов роутеру. Роутер донастроит контроллер и segue выпоонится.