// PRE-GENERATED (design session). Abstraction so the EQ chain runs with OR without APO installed.
namespace DansoriEQ.Core.Apo;

public interface IApoWriter
{
    /// <summary>true = writes to a live Equalizer APO config; false = preview/dry-run (no APO).</summary>
    bool IsLive { get; }

    /// <summary>Where the config is written (real include file, or a preview file).</summary>
    string TargetPath { get; }

    /// <summary>Apply the rendered APO config text.</summary>
    void Apply(string apoConfigText);

    /// <summary>Last applied config (handy for a preview panel / tests).</summary>
    string? LastConfig { get; }
}
