using System;
using System.Threading;
using System.Threading.Tasks;
namespace Jellyfin.Server.Migrations;
/// 
/// Interface that describes a migration routine.
/// 
internal interface IAsyncMigrationRoutine
{
    /// 
    /// Execute the migration routine.
    /// 
    /// A cancellation token triggered if the migration should be aborted.
    /// A  representing the asynchronous operation.
    public Task PerformAsync(CancellationToken cancellationToken);
}
/// 
/// Interface that describes a migration routine.
/// 
[Obsolete("Use IAsyncMigrationRoutine instead")]
internal interface IMigrationRoutine
{
    /// 
    /// Execute the migration routine.
    /// 
    [Obsolete("Use IAsyncMigrationRoutine.PerformAsync instead")]
    public void Perform();
}