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);
}