using System.Diagnostics; using System.Threading.Tasks; namespace LibationFileManager; public interface IInteropFunctions { void SetFolderIcon(string image, string directory); void SetFolderIcon(byte[] imageJpegBytes, string directory); void DeleteFolderIcon(string directory); Process? RunAsRoot(string exe, string args); /// Waits for the privileged installer where possible and throws if it fails. Task InstallUpgradeAsync(string upgradeBundle); /// Best-effort sync of installer metadata (e.g. Windows Add/Remove Programs). Never throws. void TrySyncInstallMetadata(); bool CanUpgrade { get; } string ReleaseIdString { get; } }