using System.Threading; using System.Threading.Tasks; using ReactiveUI; namespace Artemis.UI.Shared.Routing; /// /// For internal use. /// /// /// internal interface IRoutableScreen : IActivatableViewModel { /// /// Gets or sets a value indicating whether or not to reuse the child screen instance if the type has not changed. /// /// Defaults to . bool RecycleScreen { get; } object? InternalScreen { get; } void InternalChangeScreen(object? screen); Task InternalOnNavigating(NavigationArguments args, CancellationToken cancellationToken); Task InternalOnClosing(NavigationArguments args); }