using MediaBrowser.Model.Sync;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Sync
{
public interface IServerSyncProvider : ISyncProvider
{
///
/// Gets the server item ids.
///
/// The server identifier.
/// The target.
/// The cancellation token.
/// Task<List<System.String>>.
Task> GetServerItemIds(string serverId, SyncTarget target, CancellationToken cancellationToken);
///
/// Removes the item.
///
/// The server identifier.
/// The item identifier.
/// The target.
/// The cancellation token.
/// Task.
Task DeleteItem(string serverId, string itemId, SyncTarget target, CancellationToken cancellationToken);
///
/// Transfers the file.
///
/// The server identifier.
/// The item identifier.
/// The path parts.
/// The name.
/// Type of the file.
/// The target.
/// The cancellation token.
/// Task.
Task TransferItemFile(string serverId, string itemId, string[] pathParts, string name, ItemFileType fileType, SyncTarget target, CancellationToken cancellationToken);
}
}