namespace BotPages.Core { /// /// Сервис навигации по страницам. /// public interface INavigationService { /// /// Выполняет push новой страницы и вызывает её Enter. /// Task PushAsync(string pageId, object? args, UpdateContext ctx, CancellationToken ct); /// /// Выполняет replace текущей страницы и вызывает Enter новой. /// Task ReplaceAsync(string pageId, object? args, UpdateContext ctx, CancellationToken ct); /// /// Возвращается назад по стеку и вызывает Enter предыдущей. /// Task PopAsync(UpdateContext ctx, CancellationToken ct); /// /// Применяет декларативный результат страницы (навигация, текст, файлы). /// Task ApplyResultAsync(UpdateContext ctx, PageResult result, CancellationToken ct); /// /// Возвращает текущую запись стека. /// Task CurrentAsync(UpdateContext ctx, CancellationToken ct); /// /// Возвращает весь стек навигации. /// Task> StackAsync(UpdateContext ctx, CancellationToken ct); } }