using SilverOS.Welcome.Core.Apply;

namespace SilverOS.Welcome.Core.Apps;

public sealed record AppInstallResult(string Id, bool Installed);

public interface IAppInstaller
{
    Task<IReadOnlyList<AppInstallResult>> InstallAsync(
        IReadOnlyList<AppCatalogEntry> apps, IProgress<ApplyProgress> progress, CancellationToken ct = default);
}
