// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. #nullable disable using System; using System.Collections.Generic; using System.Threading; using osu.Game.Rulesets; using osu.Game.Rulesets.Objects; namespace osu.Game.Beatmaps { /// /// Provides functionality to convert a for a . /// public interface IBeatmapConverter { /// /// Invoked when a has been converted. /// The first argument contains the that was converted. /// The second argument contains the s that were output from the conversion process. /// event Action> ObjectConverted; IBeatmap Beatmap { get; } /// /// Whether can be converted by this . /// bool CanConvert(); /// /// Converts . /// /// The cancellation token. /// The converted Beatmap. IBeatmap Convert(CancellationToken cancellationToken = default); } }