using PSLauncher.Models;

namespace PSLauncher.Core.Updates;

public interface IUpdateChecker
{
    Task<UpdateCheckResult> CheckAsync(CancellationToken ct);
}

public sealed record UpdateCheckResult(
    RemoteManifest? Manifest,
    VersionManifest? LatestRemote,
    InstalledVersion? CurrentInstalled,
    bool IsLatestInstalled,
    bool IsLatestNewerThanInstalled,
    string? Error);
