using OF_DL.Models.Config; namespace OF_DL.Services; public interface IConfigService { Config CurrentConfig { get; } bool IsCliNonInteractive { get; } Task LoadConfigurationAsync(string[] args); Task SaveConfigurationAsync(string filePath = "config.conf"); void UpdateConfig(Config newConfig); /// /// Returns property names and current values for toggleable config properties. /// List<(string Name, bool Value)> GetToggleableProperties(); /// /// Applies selected toggleable properties. Returns true if any changed. /// bool ApplyToggleableSelections(List selectedNames); }