using System.Collections.Generic;
using JetBrains.Annotations;
using Unity.Cloud.Collaborate.Models.Structures;
namespace Unity.Cloud.Collaborate.Presenters
{
internal interface IHistoryPresenter : IPresenter
{
///
/// Request a move to the previous page. Ensures page number never goes below 0.
///
void PrevPage();
///
/// Request a move to the next page. Ensures page number doesn't go beyond the max number of pages.
///
void NextPage();
///
/// Set the revision id to request.
///
[NotNull]
string SelectedRevisionId { set; }
///
/// Request to update the state of the project to a provided revision. If revision is in the past, then the
/// state of the project at that point simply will be applied on top of the current without impacting history.
///
/// Revision id of the project to update to.
/// Status of the revision.
void RequestGoto([NotNull] string revisionId, HistoryEntryStatus status);
///
/// Returns true if revert is supported.
///
bool SupportsRevert { get; }
///
/// Request to revert the specified files to the given revision.
///
/// Revision to revert the files back to.
/// Files to revert back.
void RequestRevert([NotNull] string revisionId, [NotNull] IReadOnlyList files);
}
}