public protocol PresentationRouter

Applications must implement this protocol to provide UI for actions that are invoked for URLs or deep linking.

The implementation is responsible for providing an instance of the right kind of presenter for a given action.

How this works is up to your UI platform and your application. On UIKit for example you may choose to return .appCancelled if the user has a modal view controller presented currently, or unsaved data in an incomplete workflow. For the case where the current UI state can present the UI for the specified action, the view controllers required must be created in the correct configuration and the final presenter instance returned with a value of .appReady